* thread.cc (__cygwin_lock_lock): Don't bother locking when there is only one
known thread. (__cygwin_lock_unlock): Ditto for unlocking.
This commit is contained in:
@ -79,7 +79,13 @@ __cygwin_lock_fini (_LOCK_T *lock)
|
||||
extern "C" void
|
||||
__cygwin_lock_lock (_LOCK_T *lock)
|
||||
{
|
||||
pthread_mutex_lock ((pthread_mutex_t*) lock);
|
||||
if (MT_INTERFACE->threadcount <= 1)
|
||||
paranoid_printf ("threadcount %d. not locking", MT_INTERFACE->threadcount);
|
||||
else
|
||||
{
|
||||
paranoid_printf ("threadcount %d. locking", MT_INTERFACE->threadcount);
|
||||
pthread_mutex_lock ((pthread_mutex_t*) lock);
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" int
|
||||
@ -92,7 +98,13 @@ __cygwin_lock_trylock (_LOCK_T *lock)
|
||||
extern "C" void
|
||||
__cygwin_lock_unlock (_LOCK_T *lock)
|
||||
{
|
||||
pthread_mutex_unlock ((pthread_mutex_t*) lock);
|
||||
if (MT_INTERFACE->threadcount <= 1)
|
||||
paranoid_printf ("threadcount %d. not unlocking", MT_INTERFACE->threadcount);
|
||||
else
|
||||
{
|
||||
pthread_mutex_unlock ((pthread_mutex_t*) lock);
|
||||
paranoid_printf ("threadcount %d. unlocked", MT_INTERFACE->threadcount);
|
||||
}
|
||||
}
|
||||
|
||||
inline LPCRITICAL_SECTION
|
||||
|
Reference in New Issue
Block a user