diff options
Diffstat (limited to 'gcc/gthr-dce.h')
-rw-r--r-- | gcc/gthr-dce.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/gthr-dce.h b/gcc/gthr-dce.h index c2c24cdfe31..761b9482c63 100644 --- a/gcc/gthr-dce.h +++ b/gcc/gthr-dce.h @@ -294,9 +294,14 @@ __gthread_objc_mutex_allocate(objc_mutex_t mutex) static inline int __gthread_objc_mutex_deallocate(objc_mutex_t mutex) { - if (__gthread_active_p () - && pthread_mutex_destroy((pthread_mutex_t *)mutex->backend)) - return -1; + if (__gthread_active_p ()) + { + if (pthread_mutex_destroy((pthread_mutex_t *)mutex->backend)) + return -1; + + objc_free(mutex->backend); + mutex->backend = NULL; + } return 0; } |