summaryrefslogtreecommitdiff
path: root/sysdeps/hurd
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/hurd')
-rw-r--r--sysdeps/hurd/pt-destroy-specific.c5
-rw-r--r--sysdeps/hurd/pt-setspecific.c4
2 files changed, 4 insertions, 5 deletions
diff --git a/sysdeps/hurd/pt-destroy-specific.c b/sysdeps/hurd/pt-destroy-specific.c
index 2006f2b8..23c7fbc0 100644
--- a/sysdeps/hurd/pt-destroy-specific.c
+++ b/sysdeps/hurd/pt-destroy-specific.c
@@ -71,10 +71,9 @@ __pthread_destroy_specific (struct __pthread *thread)
/* This may take a very long time. Let those blocking on
pthread_key_create or pthread_key_delete make progress. */
- /* FIXME what should we do with this one? */
- /* sched_yield (); */
+ sched_yield ();
}
-
+
hurd_ihash_free (thread->thread_specifics);
thread->thread_specifics = 0;
}
diff --git a/sysdeps/hurd/pt-setspecific.c b/sysdeps/hurd/pt-setspecific.c
index bd752250..89ca4d7f 100644
--- a/sysdeps/hurd/pt-setspecific.c
+++ b/sysdeps/hurd/pt-setspecific.c
@@ -30,12 +30,12 @@ pthread_setspecific (pthread_key_t key, const void *value)
if (! self->thread_specifics)
{
- err = ihash_create (&self->thread_specifics);
+ err = hurd_ihash_create (&self->thread_specifics, HURD_IHASH_NO_LOCP);
if (err)
return ENOMEM;
}
- err = ihash_add (self->thread_specifics, key, (void *) value, 0);
+ err = hurd_ihash_add (self->thread_specifics, key, (void *) value);
if (err)
return ENOMEM;