summaryrefslogtreecommitdiff
path: root/gcc/gthr-dce.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/gthr-dce.h')
-rw-r--r--gcc/gthr-dce.h11
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;
}