diff options
Diffstat (limited to 'PACE/pace/win32/pthread.h')
-rw-r--r-- | PACE/pace/win32/pthread.h | 506 |
1 files changed, 3 insertions, 503 deletions
diff --git a/PACE/pace/win32/pthread.h b/PACE/pace/win32/pthread.h index 035bf5d6ae2..91c72b40ab6 100644 --- a/PACE/pace/win32/pthread.h +++ b/PACE/pace/win32/pthread.h @@ -13,14 +13,13 @@ * * ============================================================================ */ -#ifndef PACE_PTHREAD_H -#define PACE_PTHREAD_H +#ifndef PACE_PTHREAD_H_WIN32 +#define PACE_PTHREAD_H_WIN32 #include <pthread.h> #include "pace/sys/types.h" #include "pace/signal.h" - #if defined (PACE_HAS_CPLUSPLUS) extern "C" { #endif /* PACE_HAS_CPLUSPLUS */ @@ -45,507 +44,8 @@ extern "C" { #define PACE_PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS #define PACE_PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM - /** - PACE's implementation of the POSIX function pthread_atfork. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 3.1.3. - */ - PACE_INLINE int pace_pthread_atfork (void (*prepare) (), - void (*parent) (), - void (*child) ()); - - /** - PACE's implementation of the POSIX function pthread_attr_destroy. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 16.2.1. - */ - PACE_INLINE int pace_pthread_attr_destroy (pace_pthread_attr_t * attr); - - /** - PACE's implementation of the POSIX function pthread_attr_getdetachstate. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 16.2.1. - */ - PACE_INLINE int pace_pthread_attr_getdetachstate (const pace_pthread_attr_t * attr, - int * detachstate); - - /** - PACE's implementation of the POSIX function pthread_attr_getinheritsched. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 13.5.1. - */ - PACE_INLINE int pace_pthread_attr_getinheritsched (const pace_pthread_attr_t * attr, - int * inheritsched); - - /** - PACE's implementation of the POSIX function pthread_attr_getschedparam. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 13.5.1. - */ - PACE_INLINE int pace_pthread_attr_getschedparam (const pace_pthread_attr_t * attr, - struct sched_param * param); - - /** - PACE's implementation of the POSIX function pthread_attr_getschedpolicy. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 13.5.1. - */ - PACE_INLINE int pace_pthread_attr_getschedpolicy (const pace_pthread_attr_t * attr, - int * policy); - - /** - PACE's implementation of the POSIX function pthread_attr_getscope. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 13.5.1. - */ - PACE_INLINE int pace_pthread_attr_getscope (const pace_pthread_attr_t * attr, - int * contentionscope); - - /** - PACE's implementation of the POSIX function pthread_attr_getstackaddr. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 16.2.1. - */ - PACE_INLINE int pace_pthread_attr_getstackaddr (const pace_pthread_attr_t * attr, - void ** stackaddr); - - /** - PACE's implementation of the POSIX function pthread_attr_getstacksize. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 16.2.1. - */ - PACE_INLINE int pace_pthread_attr_getstacksize (const pace_pthread_attr_t * attr, - size_t * stacksize); - - /** - PACE's implementation of the POSIX function pthread_attr_init. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 16.2.1. - */ - PACE_INLINE int pace_pthread_attr_init (pace_pthread_attr_t * attr); - - /** - PACE's implementation of the POSIX function pthread_attr_setdetachstate. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 16.2.1. - */ - PACE_INLINE int pace_pthread_attr_setdetachstate (pace_pthread_attr_t * attr, - int detachstate); - - /** - PACE's implementation of the POSIX function pthread_attr_setinheritsched. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 13.5.1. - */ - PACE_INLINE int pace_pthread_attr_setinheritsched (pace_pthread_attr_t * attr, - int inheritsched); - - /** - PACE's implementation of the POSIX function pthread_attr_setschedparam. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 13.5.1. - */ - PACE_INLINE int pace_pthread_attr_setschedparam (pace_pthread_attr_t * attr, - const struct - sched_param * param); - - /** - PACE's implementation of the POSIX function pthread_attr_setschedpolicy. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 13.5.1. - */ - PACE_INLINE int pace_pthread_attr_setschedpolicy (pace_pthread_attr_t * attr, - int policy); - - /** - PACE's implementation of the POSIX function pthread_attr_setscope. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 13.5.1. - */ - PACE_INLINE int pace_pthread_attr_setscope (pace_pthread_attr_t * attr, - int contentionscope); - - /** - PACE's implementation of the POSIX function pthread_attr_setstackaddr. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 16.2.1. - */ - PACE_INLINE int pace_pthread_attr_setstackaddr (pace_pthread_attr_t * attr, - void * stackaddr); - - /** - PACE's implementation of the POSIX function pthread_attr_setstacksize. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 16.2.1. - */ - PACE_INLINE int pace_pthread_attr_setstacksize (pace_pthread_attr_t * attr, - size_t stacksize); - - /** - PACE's implementation of the POSIX function pthread_cancel. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 18.2.1. - */ - PACE_INLINE int pace_pthread_cancel (pace_pthread_t thread); - - /** - PACE's implementation of the POSIX function pthread_cleanup_push. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 18.2.3. - */ -# define pace_pthread_cleanup_push(routine, arg) \ - pthread_cleanup_push (routine, arg) - - /** - PACE's implementation of the POSIX function pthread_cleanup_pop. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 18.2.3. - */ -# define pace_pthread_cleanup_pop(execute) \ - pthread_cleanup_pop (execute) - -# define PACE_PTHREAD_COND_INITIALIZER PTHREAD_COND_INITIALIZER - - /** - PACE's implementation of the POSIX function pthread_cond_broadcast. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.4.3. - */ - PACE_INLINE int pace_pthread_cond_broadcast (pace_pthread_cond_t * cond); - - /** - PACE's implementation of the POSIX function pthread_cond_destroy. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.4.2. - */ - PACE_INLINE int pace_pthread_cond_destroy (pace_pthread_cond_t * cond); - - /** - PACE's implementation of the POSIX function pthread_cond_init. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.4.2. - */ - PACE_INLINE int pace_pthread_cond_init (pace_pthread_cond_t * cond, - const pace_pthread_condattr_t * attr); - - /** - PACE's implementation of the POSIX function pthread_cond_signal. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.4.3. - */ - PACE_INLINE int pace_pthread_cond_signal (pace_pthread_cond_t * cond); - - /** - PACE's implementation of the POSIX function pthread_cond_timedwait. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.4.4. - */ - PACE_INLINE int pace_pthread_cond_timedwait (pthread_cond_t * cond, - pace_pthread_mutex_t * mutex, - const struct timespec * abstime); - - /** - PACE's implementation of the POSIX function pthread_cond_wait. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.4.4. - */ - PACE_INLINE int pace_pthread_cond_wait (pace_pthread_cond_t * cond, - pace_pthread_mutex_t * mutex); - - /** - PACE's implementation of the POSIX function pthread_condattr_destroy. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.4.1. - */ - PACE_INLINE int pace_pthread_condattr_destroy (pace_pthread_condattr_t * attr); - - /** - PACE's implementation of the POSIX function pthread_condattr_getpshared. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.4.1. - */ - PACE_INLINE int pace_pthread_condattr_getpshared (const pace_pthread_condattr_t * attr, - int * pshared); - - /** - PACE's implementation of the POSIX function pthread_condattr_init. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.4.1. - */ - PACE_INLINE int pace_pthread_condattr_init (pace_pthread_condattr_t * attr); - - /** - PACE's implementation of the POSIX function pthread_condattr_setpshared. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.4.1. - */ - PACE_INLINE int pace_pthread_condattr_setpshared (pace_pthread_condattr_t * attr, - int pshared); - - /** - PACE's implementation of the POSIX function pthread_create. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 16.2.2. - */ - PACE_INLINE int pace_pthread_create (pace_pthread_t * thread, - const pace_pthread_attr_t * attr, - void * (*start_routine) (void*), - void * arg); - - /** - PACE's implementation of the POSIX function pthread_detach. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 16.2.4. - */ - PACE_INLINE int pace_pthread_detach (pace_pthread_t thread); - - /** - PACE's implementation of the POSIX function pthread_equal. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 16.2.7. - */ - PACE_INLINE int pace_pthread_equal (pace_pthread_t t1, pthread_t t2); - - /** - PACE's implementation of the POSIX function pthread_exit. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 16.2.5. - */ - PACE_INLINE void pace_pthread_exit (void * value_ptr); - - /** - PACE's implementation of the POSIX function pthread_getschedparam. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 13.2.5. - */ - PACE_INLINE int pace_pthread_getschedparam (pace_pthread_t thread, - int * policy, - struct sched_param * param); - - /** - PACE's implementation of the POSIX function pthread_getspecific. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 17.1.2. - */ - PACE_INLINE void * pace_pthread_getspecific (pace_pthread_key_t key); - - /** - PACE's implementation of the POSIX function pthread_join. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 16.2.3. - */ - PACE_INLINE int pace_pthread_join (pace_pthread_t thread, void ** value_ptr); - - /** - PACE's implementation of the POSIX function pthread_key_create. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 17.1.1. - */ - PACE_INLINE int pace_pthread_key_create (pace_pthread_key_t * key, - void (*destructor)(void*)); - - /** - PACE's implementation of the POSIX function pthread_key_delete. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 17.1.3. - */ - PACE_INLINE int pace_pthread_key_delete (pace_pthread_key_t key); - - /** - PACE's implementation of the POSIX function pthread_kill. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 3.3.10. - */ - PACE_INLINE int pace_pthread_kill (pace_pthread_t thread, int sig); - - # define PACE_PTHREAD_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER - - /** - PACE's implementation of the POSIX function pthread_mutex_destroy. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.3.2. - */ - PACE_INLINE int pace_pthread_mutex_destroy (pace_pthread_mutex_t * mutex); - - /** - PACE's implementation of the POSIX function pthread_mutex_getprioceiling. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 13.6.2. - */ - PACE_INLINE int pace_pthread_mutex_getprioceiling (pace_pthread_mutex_t * mutex, - int * prioceiling); - - /** - PACE's implementation of the POSIX function pthread_mutex_init. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.3.2. - */ - PACE_INLINE int pace_pthread_mutex_init (pace_pthread_mutex_t * mutex, - const pace_pthread_mutexattr_t * attr); - - /** - PACE's implementation of the POSIX function pthread_mutex_lock. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.3.3. - */ - PACE_INLINE int pace_pthread_mutex_lock (pace_pthread_mutex_t * mutex); - - /** - PACE's implementation of the POSIX function pthread_mutex_setprioceiling. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 13.6.2. - */ - PACE_INLINE int pace_pthread_mutex_setprioceiling (pace_pthread_mutex_t * mutex, - int prioceiling, - int * old_ceiling); - - /** - PACE's implementation of the POSIX function pthread_mutex_trylock. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.3.3. - */ - PACE_INLINE int pace_pthread_mutex_trylock (pthread_mutex_t * mutex); - - /** - PACE's implementation of the POSIX function pthread_mutex_unlock. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.3.3. - */ - PACE_INLINE int pace_pthread_mutex_unlock (pace_pthread_mutex_t * mutex); - - /** - PACE's implementation of the POSIX function pthread_mutexattr_destroy. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.3.1. - */ - PACE_INLINE int pace_pthread_mutexattr_destroy (pace_pthread_mutexattr_t * sttr); - - /** - PACE's implementation of the POSIX function - pthread_mutexattr_getprioceiling. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 13.6.1. - */ - PACE_INLINE int pace_pthread_mutexattr_getprioceiling (pace_pthread_mutexattr_t * attr, - int * prioceiling); - - /** - PACE's implementation of the POSIX function pthread_mutexattr_getprotocol. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 13.6.1. - */ - PACE_INLINE int pace_pthread_mutexattr_getprotocol - (const pace_pthread_mutexattr_t * attr, int * protocol); - - /** - PACE's implementation of the POSIX function - pthread_mutexattr_setprioceiling. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 13.6.1. - */ - PACE_INLINE int pace_pthread_mutexattr_setprioceiling (pace_pthread_mutexattr_t * attr, - int prioceiling); - - /** - PACE's implementation of the POSIX function pthread_mutexattr_setprotocol. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 13.6.1. - */ - PACE_INLINE int pace_pthread_mutexattr_setprotocol (pace_pthread_mutexattr_t * attr, - int protocol); - /** - PACE's implementation of the POSIX function pthread_mutexattr_getpshared. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.3.1. - */ - PACE_INLINE int - pace_pthread_mutexattr_getpshared (const pace_pthread_mutexattr_t * attr, - int * pshared); - - /** - PACE's implementation of the POSIX function pthread_mutexattr_init. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.3.1. - */ - PACE_INLINE int pace_pthread_mutexattr_init (pace_pthread_mutexattr_t * attr); - - /** - PACE's implementation of the POSIX function pthread_mutexattr_setpshared. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 11.3.1. - */ - PACE_INLINE int pace_pthread_mutexattr_setpshared (pace_pthread_mutexattr_t * attr, - int pshared); - - /** - PACE's implementation of the POSIX function pthread_once. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 16.2.8. - */ - PACE_INLINE int pace_pthread_once (pace_pthread_once_t * once_control, - void (*void_routine) ()); - -# define PACE_PTHREAD_ONCE_INIT PTHREAD_ONCE_INIT - - /** - PACE's implementation of the POSIX function pthread_self. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 16.2.6. - */ - PACE_INLINE pace_pthread_t pace_pthread_self (); - - /** - PACE's implementation of the POSIX function pthread_setcancelstate. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 18.2.2. - */ - PACE_INLINE int pace_pthread_setcancelstate (int state, int * oldstate); - - /** - PACE's implementation of the POSIX function pthread_setcanceltype. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 18.2.2. - */ - PACE_INLINE int pace_pthread_setcanceltype (int type, int * oldtype); - - /** - PACE's implementation of the POSIX function pthread_setschedparam. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 13.5.2. - */ - PACE_INLINE int pace_pthread_setschedparam (pace_pthread_t thread, - int policy, - const struct sched_param * param); - - /** - PACE's implementation of the POSIX function pthread_setspecific. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 17.1.2. - */ - PACE_INLINE int pace_pthread_setspecific (pace_pthread_key_t key, const void * value); - - /** - PACE's implementation of the POSIX function pthread_sigmask. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 3.3.5. - */ - PACE_INLINE int pace_pthread_sigmask (int how, - const sigset_t * set, - sigset_t * oset); - - /** - PACE's implementation of the POSIX function pthread_testcancel. - See POSIX standard (Internation Standard ISO/IEC 9945-1:1996; - IEEE Std 1003.1, 1996 Edition), Section 18.2.2. - */ - PACE_INLINE void pace_pthread_testcancel (); - #if defined (PACE_HAS_CPLUSPLUS) } #endif /* PACE_HAS_CPLUSPLUS */ -#if defined (PACE_HAS_INLINE) -# include "pace/win32/pthread.inl" -#endif /* PACE_HAS_INLINE */ - -#endif /* PACE_PTHREAD_H */ +#endif /* PACE_PTHREAD_H_WIN32 */ |