From 559e1bc4051f90d7a014bd4e4f5649e136dec412 Mon Sep 17 00:00:00 2001 From: rpj Date: Fri, 25 Mar 2011 09:22:50 +0000 Subject: Robust mutex streamlining --- pthread_win32_attach_detach_np.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'pthread_win32_attach_detach_np.c') 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) -- cgit v1.2.3