summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--pthread_cond_destroy.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index f01e060..1e4ffd6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;