diff options
Diffstat (limited to 'PACE/pace/vxworks/pthread.inl')
-rw-r--r-- | PACE/pace/vxworks/pthread.inl | 935 |
1 files changed, 0 insertions, 935 deletions
diff --git a/PACE/pace/vxworks/pthread.inl b/PACE/pace/vxworks/pthread.inl deleted file mode 100644 index 02f694072bd..00000000000 --- a/PACE/pace/vxworks/pthread.inl +++ /dev/null @@ -1,935 +0,0 @@ -/* $Id$ -*- C -*- - - * ============================================================================= - * - * = LIBRARY - * pace - * - * = FILENAME - * pace/vxworks/pthread.inl - * - * = AUTHOR - * Joe Hoffert. The *VAST* majority of the pthread code for VxWorks - * has been supplied by Hughes Network Systems via Braeton Taylor. - * - * - * ============================================================================= */ - -#include "pace/unistd.h" - -#include "pace/stdio.h" - -/* - * PACE - POSIX Functions - */ - - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_atfork ( -# if defined (PACE_HAS_CPLUSPLUS) - pace_atfork_pf prepare, - pace_atfork_pf parent, - pace_atfork_pf child -# else /* ! PACE_HAS_CPLUSPLUS */ - void (*prepare) (), - void (*parent) (), - void (*child) () -# endif /* PACE_HAS_CPLUSPLUS */ - ) -{ - PACE_TRACE("pace_pthread_atfork"); - /* - * In VxWorks, there is only one process. - */ - PACE_ERRNO_NO_SUPPORT_RETURN (-1); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_attr_destroy (pace_pthread_attr_t * attr) -{ - PACE_TRACE("pace_pthread_attr_destroy"); - /* - * Free memory allocated to the attributes object. - */ - if ((*attr) == 0) - return ERROR; - - free ((char *) *attr); - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_attr_getdetachstate (const pace_pthread_attr_t * attr, - int * detachstate) -{ - PACE_TRACE("pace_pthread_attr_getdetachstate"); - - *detachstate = (*attr)->dstate; - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_attr_getinheritsched (const pace_pthread_attr_t * attr, - int * inheritsched) -{ - PACE_TRACE("pace_pthread_attr_getinheritsched"); - - /* - * Get the priority inheritence of the thread attribute structure. - * Only PTHREAD_EXPLICIT_SCHED is returned. - */ - *inheritsched = PTHREAD_EXPLICIT_SCHED; - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_attr_getschedparam (const pace_pthread_attr_t * attr, - pace_sched_param * param) -{ - PACE_TRACE("pace_pthread_attr_getschedparam"); - - param->sched_priority = (*attr)->schedule.sched_priority; - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_attr_getschedpolicy (const pace_pthread_attr_t * attr, - int * policy) -{ - PACE_TRACE("pace_pthread_attr_getschedpolicy"); - - /* - * VxWorks only supports SCHED_FIFO. - */ - - *policy = SCHED_FIFO; - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_attr_getscope (const pace_pthread_attr_t * attr, - int * contentionscope) -{ - PACE_TRACE("pace_pthread_attr_getscope"); - - /* - * Since all VxWorks tasks are system wide scope, - * no support for the scope except for PTHREAD_SCOPE_SYSTEM - */ - - *contentionscope = PTHREAD_SCOPE_SYSTEM; - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_attr_getstackaddr (const pace_pthread_attr_t * attr, - void ** stackaddr) -{ - PACE_TRACE("pace_pthread_attr_getstackaddr"); - - /* - * VxWorks has no support for stack address getting - */ - - return ERROR; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_attr_getstacksize (const pace_pthread_attr_t * attr, - size_t * stacksize) -{ - PACE_TRACE("pace_pthread_attr_getstacksize"); - - if (*attr == 0) - return ERROR; - - *stacksize = (*attr)->stacksize; - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_attr_init (pace_pthread_attr_t * attr) -{ - PACE_TRACE("pace_pthread_attr_init"); - - return pthread_attr_init(attr); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_attr_setdetachstate (pace_pthread_attr_t * attr, - int detachstate) -{ - PACE_TRACE("pace_pthread_attr_setdetachstate"); - - return pthread_attr_setdetachstate (attr, detachstate); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_attr_setinheritsched (pace_pthread_attr_t * attr, - int inheritsched) -{ - PACE_TRACE("pace_pthread_attr_setinheritsched"); - - /* - * For VxWorks, no inheritance of priority between the spawning task - * and the spawned task. Only PTHREAD_EXPLICIT_SCHED is supported. - */ - if (inheritsched == PTHREAD_EXPLICIT_SCHED) - { - return OK; - } - - return ERROR; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_attr_setschedparam (pace_pthread_attr_t * attr, - const pace_sched_param * param) -{ - PACE_TRACE("pace_pthread_attr_setschedparam"); - - return pthread_attr_setschedparam (attr, param); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_attr_setschedpolicy (pace_pthread_attr_t * attr, - int policy) -{ - PACE_TRACE("pace_pthread_attr_setschedpolicy"); - - /* - * In VxWorks, the schedule policy is set in system scope, - * the whole system is running with one single scheduler, and - * is always pre-emptive priority based. The system wide - * scheduler can only be changed by kernelTimeSlice() - * - * To maintain the RTOS characteristics, only SCHED_FIFO is - * supported. - */ - if (policy != SCHED_FIFO) - return ERROR; - else - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_attr_setscope (pace_pthread_attr_t * attr, - int contentionscope) -{ - PACE_TRACE("pace_pthread_attr_setscope"); - - /* - * Since all VxWorks tasks are system wide scope, - * no support for the scope except for PTHREAD_SCOPE_SYSTEM - */ - if (contentionscope != PTHREAD_SCOPE_SYSTEM) - return ERROR; - else - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_attr_setstackaddr (pace_pthread_attr_t * attr, - void * stackaddr) -{ - PACE_TRACE("pace_pthread_attr_setstackaddr"); - - /* - * VxWorks does not support stack address setting. - */ - return ERROR; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_attr_setstacksize (pace_pthread_attr_t * attr, - size_t stacksize) -{ - PACE_TRACE("pace_pthread_attr_setstacksize"); - - /* - * Default size will be assigned if the stacksize is 0 - */ - if (*attr == 0) return ERROR; - - if (stacksize != 0) - (*attr)->stacksize = stacksize; - else - (*attr)->stacksize = PTHREAD_DEFAULT_STACK_SIZE; - - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_cancel (pace_pthread_t thread) -{ - PACE_TRACE("pace_pthread_cancel"); - - return pthread_cancel (thread); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_cond_broadcast (pace_pthread_cond_t * cond) -{ - PACE_TRACE("pace_pthread_cond_broadcast"); - - /* - * This call unblocks all the threads that are blocked - * on the specified condition variable cond. - */ - return semFlush(*cond); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_cond_destroy (pace_pthread_cond_t * cond) -{ - PACE_TRACE("pace_pthread_cond_destroy"); - - if (*cond != NULL) - return semDelete(*cond); - - return EINVAL; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_cond_init (pace_pthread_cond_t * cond, - const pace_pthread_condattr_t * attr) -{ - PACE_TRACE("pace_pthread_cond_init"); - - *cond = semBCreate(SEM_Q_PRIORITY, SEM_FULL); - if (*cond == NULL) - return ERROR; - - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_cond_signal (pace_pthread_cond_t * cond) -{ - PACE_TRACE("pace_pthread_cond_signal"); - - return semGive(*cond); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_cond_timedwait (pace_pthread_cond_t * cond, - pace_pthread_mutex_t * mutex, - const pace_timespec * abstime) -{ - PACE_TRACE("pace_pthread_cond_timedwait"); - - return pthread_cond_timedwait(cond, - mutex, - abstime); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_cond_wait (pace_pthread_cond_t * cond, - pace_pthread_mutex_t * mutex) -{ - PACE_TRACE("pace_pthread_cond_wait"); - - return pthread_cond_wait(cond, - mutex); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_condattr_destroy (pace_pthread_condattr_t * attr) -{ - PACE_TRACE("pace_pthread_condattr_destroy"); - - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_condattr_getpshared (const pace_pthread_condattr_t * attr, - int * pshared) -{ - PACE_TRACE("pace_pthread_condattr_getpshared"); - - /* - * All the resources in present VxWorks are shared system wide. - */ - *pshared = PTHREAD_PROCESS_SHARED; - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_condattr_init (pace_pthread_condattr_t * attr) -{ - PACE_TRACE("pace_pthread_condattr_init"); - - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_condattr_setpshared (pace_pthread_condattr_t * attr, - int pshared) -{ - PACE_TRACE("pace_pthread_condattr_setpshared"); - - /* - * All the resources in present VxWorks are shared system wide. - */ - if (pshared != PTHREAD_PROCESS_SHARED) - return ERROR; - - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_create (pace_pthread_t * thread, - const pace_pthread_attr_t * attr, - void * (*start_routine) (void*), - void * arg) -{ - PACE_TRACE("pace_pthread_create"); - - return pthread_create (thread, - attr, - start_routine, - arg); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_detach (pace_pthread_t thread) -{ - PACE_TRACE("pace_pthread_detach"); - - return pthread_detach (thread); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_equal (pace_pthread_t t1, pace_pthread_t t2) -{ - PACE_TRACE("pace_pthread_equal"); - - if (pacevx_pthread_verify(t1) && pacevx_pthread_verify(t2)) - { - if (t1->tid != t2->tid) - return 0; - } - - return 1; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -void -pace_pthread_exit (void * value_ptr) -{ - /* - * Normal thread exit. All the cleanup routines will be popped, if any. - * If the thread is detached, free the storage; otherwise wait for join. - */ - pace_pthread_t pthread; - - PACE_TRACE("pace_pthread_exit"); - - if ((pthread = pace_pthread_self()) != NULL) - { - pacevx_pthread_proc_exit(pthread, value_ptr); - - exit(0); - } - - exit(-1); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_getschedparam (pace_pthread_t thread, - int * policy, - pace_sched_param * param) -{ - PACE_TRACE("pace_pthread_getschedparam"); - - return pthread_getschedparam (thread, - policy, - param); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -void * -pace_pthread_getspecific (pace_pthread_key_t key) -{ - PACE_TRACE("pace_pthread_getspecific"); - - return pthread_getspecific (key); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_join (pace_pthread_t thread, void ** value_ptr) -{ - PACE_TRACE("pace_pthread_join"); - - return pthread_join (thread, - value_ptr); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_key_create (pace_pthread_key_t * key, - void (*destructor)(void*)) -{ - PACE_TRACE("pace_pthread_key_create"); - - return pthread_key_create (key, - destructor); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_key_delete (pace_pthread_key_t key) -{ - PACE_TRACE("pace_pthread_key_delete"); - - return pthread_key_delete (key); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_kill (pace_pthread_t thread, int sig) -{ - PACE_TRACE("pace_pthread_kill"); - - if (pacevx_pthread_verify(thread)) - return kill(thread->tid, sig); - else - return EINVAL; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_mutex_destroy (pace_pthread_mutex_t * mutex) -{ - PACE_TRACE("pace_pthread_mutex_destroy"); - - if (*mutex != NULL) - return semDelete(*mutex); - - return EINVAL; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_mutex_getprioceiling (pace_pthread_mutex_t * mutex, - int * prioceiling) -{ - PACE_TRACE("pace_pthread_mutex_getprioceiling"); - - /* - * Mutex priority is not supported in VxWorks; - * it depends on the thread using it and has the same priority - * ceiling as this thread (SCHED_RR_HIGH_PRI). - */ - *prioceiling = SCHED_RR_HIGH_PRI; - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_mutex_init (pace_pthread_mutex_t * mutex, - const pace_pthread_mutexattr_t * attr) -{ - PACE_TRACE("pace_pthread_mutex_init"); - - return pthread_mutex_init (mutex, - attr); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_mutex_lock (pace_pthread_mutex_t * mutex) -{ - PACE_TRACE("pace_pthread_mutex_lock"); - - return pthread_mutex_lock (mutex); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_mutex_setprioceiling (pace_pthread_mutex_t * mutex, - int prioceiling, - int * old_ceiling) -{ - PACE_TRACE("pace_pthread_mutex_setprioceiling"); - - /* - * Mutex priority is not supported in VxWorks; - * it depends on the thread using it and has the same priority - * ceiling as this thread (SCHED_RR_HIGH_PRI). - */ - *old_ceiling = SCHED_RR_HIGH_PRI; - - if (prioceiling != SCHED_RR_HIGH_PRI) - return ERROR; - - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_mutex_trylock (pace_pthread_mutex_t * mutex) -{ - PACE_TRACE("pace_pthread_mutex_trylock"); - - return pthread_mutex_trylock (mutex); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_mutex_unlock (pace_pthread_mutex_t * mutex) -{ - PACE_TRACE("pace_pthread_mutex_unlock"); - - return pthread_mutex_unlock (mutex); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_mutexattr_destroy (pace_pthread_mutexattr_t * attr) -{ - PACE_TRACE("pace_pthread_mutexattr_destroy"); - - free(*attr); - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_mutexattr_getprioceiling (pace_pthread_mutexattr_t * attr, - int * prioceiling) -{ - PACE_TRACE("pace_pthread_mutexattr_getprioceiling"); - - /* - * Mutex priority is not supported in VxWorks, - * it depends the thread using it and has the same priority - * ceiling as this thread (SCHED_RR_HIGH_PRI). - */ - *prioceiling = SCHED_RR_HIGH_PRI; - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_mutexattr_getprotocol (const pace_pthread_mutexattr_t * attr, - int * protocol) -{ - PACE_TRACE("pace_pthread_mutexattr_getprotocol"); - -/* - * Does not support PTHREAD_PRIO_PROTECT for VxWorks - */ - if (attr == 0) - return EINVAL; - - *protocol = (*attr)->protocol; - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_mutexattr_setprioceiling (pace_pthread_mutexattr_t * attr, - int prioceiling) -{ - PACE_TRACE("pace_pthread_mutexattr_setprioceiling"); - - /* - * Mutex priority is not supported in VxWorks; - * it depends on the thread using it and has the same priority - * ceiling as this thread (SCHED_RR_HIGH_PRI). - */ - if (prioceiling == SCHED_RR_HIGH_PRI) - return OK; - else - return ERROR; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_mutexattr_setprotocol (pace_pthread_mutexattr_t * attr, - int protocol) -{ - PACE_TRACE("pace_pthread_mutexattr_setprotocol"); - - return pthread_mutexattr_setprotocol (attr, - protocol); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_mutexattr_getpshared (const pace_pthread_mutexattr_t * attr, - int * pshared) -{ - PACE_TRACE("pace_pthread_mutexattr_getpshared"); - - /* - * Only supports PTHREAD_PROCESS_SHARED - */ - *pshared = PTHREAD_PROCESS_SHARED; - return OK; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_mutexattr_init (pace_pthread_mutexattr_t * attr) -{ - PACE_TRACE("pace_pthread_mutexattr_init"); - - return pthread_mutexattr_init (attr); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_mutexattr_setpshared (pace_pthread_mutexattr_t * attr, - int pshared) -{ - PACE_TRACE("pace_pthread_mutexattr_setpshared"); - - return pthread_mutexattr_setpshared (attr, - pshared); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_once (pace_pthread_once_t * once_control, - void (*void_routine) (void)) -{ - PACE_TRACE("pace_pthread_once"); - - return pthread_once (once_control, - void_routine); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -pace_pthread_t -pace_pthread_self () -{ - PACE_TRACE("pace_pthread_self"); - - return pthread_self(); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_setcancelstate (int state, - int * oldstate) -{ - PACE_TRACE("pace_pthread_setcancelstate"); - - return pthread_setcancelstate (state, - oldstate); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_setcanceltype (int type, - int * oldtype) -{ - PACE_TRACE("pace_pthread_setcanceltype"); - - return pthread_setcanceltype (type, - oldtype); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_setschedparam (pace_pthread_t thread, - int policy, - const pace_sched_param * param) -{ - PACE_TRACE("pace_pthread_setschedparam"); - - return pthread_setschedparam (thread, - policy, - param); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_setspecific (pace_pthread_key_t key, - const void * value) -{ - PACE_TRACE("pace_pthread_setspecific"); - - return pthread_setspecific (key, - value); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -int -pace_pthread_sigmask (int how, - const pace_sigset_t * set, - pace_sigset_t * oset) -{ - PACE_TRACE("pace_pthread_sigmask"); - - return pthread_sigmask (how, - set, - oset); -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ - -#if (PACE_HAS_POSIX_NONUOF_FUNCS) -PACE_INLINE -void -pace_pthread_testcancel () -{ - PACE_TRACE("pace_pthread_testcancel"); - - /* Do nothing per ACE (i.e., ACE_OS::thr_testcancel). */ - return; -} -#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */ |