 |
HDF5
1.12.0
|
Go to the documentation of this file.
26 #ifndef H5TSprivate_H_
27 #define H5TSprivate_H_
31 #include "H5TSpublic.h"
34 #ifdef H5_HAVE_WIN_THREADS
40 CRITICAL_SECTION CriticalSection;
50 #define H5TS_SCOPE_SYSTEM 0
51 #define H5TS_SCOPE_PROCESS 0
52 #define H5TS_CALL_CONV WINAPI
55 #define H5TS_get_thread_local_value(key) TlsGetValue( key )
56 #define H5TS_set_thread_local_value(key, value) TlsSetValue( key, value )
57 #define H5TS_attr_init(attr_ptr) 0
58 #define H5TS_attr_setscope(attr_ptr, scope) 0
59 #define H5TS_attr_destroy(attr_ptr) 0
60 #define H5TS_wait_for_thread(thread) WaitForSingleObject(thread, INFINITE)
61 #define H5TS_mutex_init(mutex) InitializeCriticalSection(mutex)
62 #define H5TS_mutex_lock_simple(mutex) EnterCriticalSection(mutex)
63 #define H5TS_mutex_unlock_simple(mutex) LeaveCriticalSection(mutex)
66 H5_DLL BOOL CALLBACK H5TS_win32_process_enter(PINIT_ONCE InitOnce, PVOID Parameter, PVOID *lpContex);
67 H5_DLL void H5TS_win32_process_exit(
void);
91 #define H5TS_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM
92 #define H5TS_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS
93 #define H5TS_CALL_CONV
96 #define H5TS_get_thread_local_value(key) pthread_getspecific( key )
97 #define H5TS_set_thread_local_value(key, value) pthread_setspecific( key, value )
98 #define H5TS_attr_init(attr_ptr) pthread_attr_init((attr_ptr))
99 #define H5TS_attr_setscope(attr_ptr, scope) pthread_attr_setscope(attr_ptr, scope)
100 #define H5TS_attr_destroy(attr_ptr) pthread_attr_destroy(attr_ptr)
101 #define H5TS_wait_for_thread(thread) pthread_join(thread, NULL)
102 #define H5TS_mutex_init(mutex) pthread_mutex_init(mutex, NULL)
103 #define H5TS_mutex_lock_simple(mutex) pthread_mutex_lock(mutex)
104 #define H5TS_mutex_unlock_simple(mutex) pthread_mutex_unlock(mutex)
114 #if defined c_plusplus || defined __cplusplus
126 #if defined c_plusplus || defined __cplusplus
pthread_attr_t H5TS_attr_t
Definition: H5TSprivate.h:85
struct H5TS_mutex_struct H5TS_mutex_t
H5_DLL herr_t H5TS_cancel_count_dec(void)
pthread_key_t H5TS_key_t
Definition: H5TSprivate.h:87
H5TS_once_t H5TS_first_init_g
pthread_t owner_thread
Definition: H5TSprivate.h:79
pthread_mutex_t atomic_lock
Definition: H5TSprivate.h:80
H5_DLL herr_t H5TS_cancel_count_inc(void)
H5TS_key_t H5TS_funcstk_key_g
H5_DLL H5TS_thread_t H5TS_create_thread(void *(*func)(void *), H5TS_attr_t *attr, void *udata)
H5TS_key_t H5TS_apictx_key_g
H5TS_key_t H5TS_errstk_key_g
pthread_t H5TS_thread_t
Definition: H5TSprivate.h:84
pthread_once_t H5TS_once_t
Definition: H5TSprivate.h:88
H5_DLL herr_t H5TS_mutex_lock(H5TS_mutex_t *mutex)
H5_DLL void H5TS_pthread_first_thread_init(void)
Definition: H5TSprivate.h:78
#define H5_DLL
Definition: H5api_adpt.h:234
pthread_cond_t cond_var
Definition: H5TSprivate.h:81
int herr_t
Definition: H5public.h:128
pthread_mutex_t H5TS_mutex_simple_t
Definition: H5TSprivate.h:86
unsigned int lock_count
Definition: H5TSprivate.h:82
H5_DLL herr_t H5TS_mutex_unlock(H5TS_mutex_t *mutex)