From 75833f08cd845632e2706cdbcc1df86607f73117 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 6 Sep 2005 19:22:54 +0000 Subject: * thread.h: Revert patch from 2005-09-05. * thread.cc (pthread_mutex::can_be_unlocked): Return true also if mutex is owned by MUTEX_OWNER_ANONYMOUS. --- winsup/cygwin/thread.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'winsup/cygwin/thread.h') diff --git a/winsup/cygwin/thread.h b/winsup/cygwin/thread.h index f8ab9da8b..c15ded478 100644 --- a/winsup/cygwin/thread.h +++ b/winsup/cygwin/thread.h @@ -301,21 +301,27 @@ public: int type; int pshared; + pthread_t get_pthread_self () const + { + return PTHREAD_MUTEX_NORMAL == type ? MUTEX_OWNER_ANONYMOUS : + ::pthread_self (); + } + int lock () { - return _lock (::pthread_self ()); + return _lock (get_pthread_self ()); } int trylock () { - return _trylock (::pthread_self ()); + return _trylock (get_pthread_self ()); } int unlock () { - return _unlock (::pthread_self ()); + return _unlock (get_pthread_self ()); } int destroy () { - return _destroy (::pthread_self ()); + return _destroy (get_pthread_self ()); } void set_owner (pthread_t self) -- cgit v1.2.3