From 5d68d1de45400056dceb95f4329669148a536a84 Mon Sep 17 00:00:00 2001 From: Thomas Pfaff Date: Thu, 9 Jan 2003 20:50:23 +0000 Subject: Applied pthread_mutex patch --- winsup/cygwin/thread.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'winsup/cygwin/thread.h') diff --git a/winsup/cygwin/thread.h b/winsup/cygwin/thread.h index a4a4f1504..cf08a7630 100644 --- a/winsup/cygwin/thread.h +++ b/winsup/cygwin/thread.h @@ -162,6 +162,8 @@ private: #define SEM_MAGIC PTHREAD_MAGIC+7 #define PTHREAD_ONCE_MAGIC PTHREAD_MAGIC+8; +#define MUTEX_LOCK_COUNTER_INITIAL (-1) + /* verifyable_object should not be defined here - it's a general purpose class */ class verifyable_object @@ -305,15 +307,21 @@ public: static void initMutex (); static int init (pthread_mutex_t *, const pthread_mutexattr_t *); - CRITICAL_SECTION criticalsection; + LONG lock_counter; HANDLE win32_obj_id; + unsigned int recursion_counter; LONG condwaits; + pthread_t owner; + int type; int pshared; class pthread_mutex * next; int Lock (); int TryLock (); int UnLock (); + int Destroy (); + void SetOwner (); + int LockRecursive (); void fixup_after_fork (); pthread_mutex (pthread_mutexattr * = NULL); -- cgit v1.2.3