diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | mutex.c | 16 |
2 files changed, 18 insertions, 4 deletions
@@ -1,3 +1,9 @@ +Sat Sep 10 12:56:13 1999 Ross Johnson <rpj@swan.canberra.edu.au> + + * mutex.c (pthread_mutex_destroy): Don't free mutex memory + if mutex is PTHREAD_MUTEX_INITIALIZER and has not been + initialised yet. + Wed Sep 8 12:56:13 1999 Ross Johnson <rpj@swan.canberra.edu.au> * mutex.c (pthread_mutex_destroy): Free mutex memory. @@ -192,12 +192,20 @@ pthread_mutex_destroy(pthread_mutex_t *mutex) { result = (CloseHandle (mx->mutex) ? 0 : EINVAL); } - } - if (result == 0) + if (result == 0) + { + mx->mutex = 0; + free(mx); + *mutex = NULL; + } + } + else { - mx->mutex = 0; - free(mx); + /* + * This is all we need to do to destroy a statically + * initialised mutex that has not yet been used (initialised). + */ *mutex = NULL; } |