From ec8290acdaea21b16d98f1ef5d4ae8a28ab2109a Mon Sep 17 00:00:00 2001 From: rpj Date: Wed, 3 Nov 2004 01:08:41 +0000 Subject: Mutex, semaphore, thread ID, test suite changes - see ChangeLogs --- pthread.h | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) (limited to 'pthread.h') diff --git a/pthread.h b/pthread.h index 9975eb1..f2f6323 100644 --- a/pthread.h +++ b/pthread.h @@ -519,20 +519,30 @@ extern "C" #if defined(_UWIN) && PTW32_LEVEL >= PTW32_LEVEL_MAX # include #else -typedef struct pthread_t_ * volatile pthread_t; -typedef struct pthread_attr_t_ * volatile pthread_attr_t; +/* + * Generic handle type - intended to extend uniqueness beyond + * that available with a simple pointer. It should scale for either + * IA-32 or IA-64. + */ +typedef struct { + void * p; /* Pointer to actual object */ + unsigned int x; /* Extra information - reuse count etc */ +} ptw32_handle_t; + +typedef ptw32_handle_t pthread_t; +typedef struct pthread_attr_t_ * pthread_attr_t; typedef struct pthread_once_t_ pthread_once_t; -typedef struct pthread_key_t_ * volatile pthread_key_t; -typedef struct pthread_mutex_t_ * volatile pthread_mutex_t; -typedef struct pthread_mutexattr_t_ * volatile pthread_mutexattr_t; -typedef struct pthread_cond_t_ * volatile pthread_cond_t; -typedef struct pthread_condattr_t_ * volatile pthread_condattr_t; +typedef struct pthread_key_t_ * pthread_key_t; +typedef struct pthread_mutex_t_ * pthread_mutex_t; +typedef struct pthread_mutexattr_t_ * pthread_mutexattr_t; +typedef struct pthread_cond_t_ * pthread_cond_t; +typedef struct pthread_condattr_t_ * pthread_condattr_t; #endif -typedef struct pthread_rwlock_t_ * volatile pthread_rwlock_t; -typedef struct pthread_rwlockattr_t_ * volatile pthread_rwlockattr_t; -typedef struct pthread_spinlock_t_ * volatile pthread_spinlock_t; -typedef struct pthread_barrier_t_ * volatile pthread_barrier_t; -typedef struct pthread_barrierattr_t_ * volatile pthread_barrierattr_t; +typedef struct pthread_rwlock_t_ * pthread_rwlock_t; +typedef struct pthread_rwlockattr_t_ * pthread_rwlockattr_t; +typedef struct pthread_spinlock_t_ * pthread_spinlock_t; +typedef struct pthread_barrier_t_ * pthread_barrier_t; +typedef struct pthread_barrierattr_t_ * pthread_barrierattr_t; /* * ==================== -- cgit v1.2.3