diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | pthread_cond_destroy.c | 4 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,8 @@ +2002-02-20 Ross Johnson <rpj@setup1.ise.canberra.edu.au> + + * pthread_cond_destroy.c (pthread_cond_destroy): + Enter the time change critical section earlier. + 2002-02-17 Ross Johnson <rpj@setup1.ise.canberra.edu.au * Testsuite passed. diff --git a/pthread_cond_destroy.c b/pthread_cond_destroy.c index f5102ac..5eab110 100644 --- a/pthread_cond_destroy.c +++ b/pthread_cond_destroy.c @@ -168,6 +168,8 @@ pthread_cond_destroy (pthread_cond_t * cond) /* * Now it is safe to destroy */ + EnterCriticalSection(&ptw32_cond_list_lock); + *cond = NULL; if (sem_destroy(&(cv->semBlockLock)) != 0) @@ -185,8 +187,6 @@ pthread_cond_destroy (pthread_cond_t * cond) /* Unlink the CV from the list */ - EnterCriticalSection(&ptw32_cond_list_lock); - if (ptw32_cond_list_head == cv) { ptw32_cond_list_head = cv->next; |