diff options
author | Mike McGreevy <mamcgree@hdfgroup.org> | 2010-09-10 16:15:34 (GMT) |
---|---|---|
committer | Mike McGreevy <mamcgree@hdfgroup.org> | 2010-09-10 16:15:34 (GMT) |
commit | b7c2d18029df6d724e44b74c8f49bb7aa1e2f02b (patch) | |
tree | c3dd326b9b8ed4746b57165165713ae9b046c62b /test/ttsafe_acreate.c | |
parent | 47c792faa033c4c149b2c5d4dd0e70e4f2b0e3d2 (diff) | |
download | hdf5-b7c2d18029df6d724e44b74c8f49bb7aa1e2f02b.zip hdf5-b7c2d18029df6d724e44b74c8f49bb7aa1e2f02b.tar.gz hdf5-b7c2d18029df6d724e44b74c8f49bb7aa1e2f02b.tar.bz2 |
[svn-r19367] Purpose:
Add windows threads support to HDF5.
Description:
Added calls to the windows threads library to the H5TS layer, and wrapped
most calls to either pthreads or windows threads library with portable
H5TS-style defines. Modified tests to use portable function definitions
as well.
This can be configured via CMake with the HDF5_ENABLE_THREADSAFE
option, and should work on windows vista and later operating systems.
Tested:
h5committest, plus threadsafe with pthreads on jam and amani,
and tested on a Windows Vista VM with threadsafe using windows threads.
Diffstat (limited to 'test/ttsafe_acreate.c')
-rw-r--r-- | test/ttsafe_acreate.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/test/ttsafe_acreate.c b/test/ttsafe_acreate.c index 0e2c7c8..0efd02c 100644 --- a/test/ttsafe_acreate.c +++ b/test/ttsafe_acreate.c @@ -68,8 +68,8 @@ typedef struct acreate_data_struct { void tts_acreate(void) { - /* Pthread declarations */ - pthread_t threads[NUM_THREADS]; + /* Thread declarations */ + H5TS_thread_t threads[NUM_THREADS]; /* HDF5 data declarations */ hid_t file, dataset; @@ -118,13 +118,11 @@ void tts_acreate(void) attrib_data->datatype = datatype; attrib_data->dataspace = dataspace; attrib_data->current_index = i; - ret = pthread_create(&threads[i], NULL, tts_acreate_thread, attrib_data); - assert(ret == 0); + threads[i] = H5TS_create_thread(tts_acreate_thread, NULL, attrib_data); } /* end for */ for(i = 0; i < NUM_THREADS; i++) { - ret = pthread_join(threads[i], NULL); - assert(ret == 0); + H5TS_wait_for_thread(threads[i]); } /* end for */ |