From 5f7ea668d6d4c96d9e0efea21ac5e300fda552ad Mon Sep 17 00:00:00 2001 From: rpj Date: Tue, 8 Jan 2002 02:21:06 +0000 Subject: * mutex.c (pthread_mutex_trylock): use ptw32_interlocked_compare_exchange function pointer rather than ptw32_InterlockedCompareExchange() directly to retain portability to non-iX86 processors, e.g. WinCE etc. The pointer will point to the native OS version of InterlockedCompareExchange() if the OS supports it (see ChangeLog entry of 2001-10-17). --- implement.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'implement.h') diff --git a/implement.h b/implement.h index e07306b..e075ee9 100644 --- a/implement.h +++ b/implement.h @@ -156,11 +156,17 @@ struct sem_t_ { #define PTW32_OBJECT_INVALID NULL struct pthread_mutex_t_ { - LONG lock_idx; - int recursive_count; - int kind; + LONG lock_idx; /* Provides exclusive access to mutex state + via the Interlocked* mechanism, as well + as a count of the number of threads + waiting on the mutex. */ + int recursive_count; /* Number of unlocks a thread needs to perform + before the lock is released (recursive + mutexes only). */ + int kind; /* Mutex type. */ pthread_t ownerThread; - HANDLE wait_sema; + HANDLE wait_sema; /* Mutex release notification to waiting + threads. */ }; struct pthread_mutexattr_t_ { -- cgit v1.2.3