previous change and implemented a correct test in the __m_count
case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29209
138bc75d-0d04-0410-961f-
82ee72b054a4
1999-09-08 Tom Tromey <tromey@cygnus.com>
+ * include/posix-threads.h (_Jv_PthreadCheckMonitor): Reverted
+ previous change and implemented a correct test in the __m_count
+ case.
+
* include/posix-threads.h (_Jv_PthreadCheckMonitor): Changed test
in __m_count case.
// On Linux we exploit knowledge of the implementation.
int r = pmu->m_count == 1;
#elif defined (PTHREAD_MUTEX_HAVE___M_COUNT)
- int r = (pthread_t) pmu->__m_owner == pthread_self ();
+ // In glibc 2.1, the first time the mutex is grabbed __m_count is
+ // set to 0 and __m_owner is set to pthread_self().
+ int r = ! pmu->__m_count;
#else
int r = mu->count == 0;
#endif