diff options
Diffstat (limited to 'pthread_win32_attach_detach_np.c')
-rw-r--r-- | pthread_win32_attach_detach_np.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/pthread_win32_attach_detach_np.c b/pthread_win32_attach_detach_np.c index d03b55f..65e0913 100644 --- a/pthread_win32_attach_detach_np.c +++ b/pthread_win32_attach_detach_np.c @@ -191,7 +191,6 @@ pthread_win32_thread_detach_np () if (sp != NULL) // otherwise Win32 thread with no implicit POSIX handle. { ptw32_mcs_local_node_t stateLock; - ptw32_mcs_local_node_t listLock; ptw32_callUserDestroyRoutines (sp->ptHandle); ptw32_mcs_lock_acquire (&sp->stateLock, &stateLock); @@ -205,11 +204,10 @@ pthread_win32_thread_detach_np () /* * Robust Mutexes */ - ptw32_mcs_lock_acquire(&sp->robustMxListLock, &listLock); while (sp->robustMxList != NULL) { pthread_mutex_t mx = sp->robustMxList->mx; - ptw32_robust_mutex_quick_remove(&mx, sp); + ptw32_robust_mutex_remove(&mx, sp); (void) PTW32_INTERLOCKED_EXCHANGE( (LPLONG)&mx->robustNode->stateInconsistent, -1L); @@ -220,7 +218,6 @@ pthread_win32_thread_detach_np () */ SetEvent(mx->event); } - ptw32_mcs_lock_release(&listLock); if (sp->detachState == PTHREAD_CREATE_DETACHED) |