summaryrefslogtreecommitdiff
path: root/sysdeps/hurd
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/hurd')
-rw-r--r--sysdeps/hurd/pt-destroy-specific.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sysdeps/hurd/pt-destroy-specific.c b/sysdeps/hurd/pt-destroy-specific.c
index 82382228..dbd3314b 100644
--- a/sysdeps/hurd/pt-destroy-specific.c
+++ b/sysdeps/hurd/pt-destroy-specific.c
@@ -53,12 +53,14 @@ __pthread_destroy_specific (struct __pthread *thread)
value = ihash_find (thread->thread_specifics, i);
if (value)
{
- seen_one = 1;
-
err = ihash_remove (thread->thread_specifics, i);
assert (err == 1);
- __pthread_key_destructors[i] (value);
+ if (__pthread_key_destructors[i])
+ {
+ seen_one = 1;
+ __pthread_key_destructors[i] (value);
+ }
}
}