diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-04-22 23:38:54 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-04-22 23:38:54 +0000 |
commit | 7c290d1513af40e81b613ef41502c2fbc6c3c402 (patch) | |
tree | 7460011f6c2b80e1e358d3e762e31f22bb0e93d9 /sysdeps/generic/pt-cond-timedwait.c | |
parent | 9741579ea63731ff5651cd3185d04c71bae2fe14 (diff) | |
parent | 581b822ea36002817f4c22b9ea715b72a0647166 (diff) |
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/libpthread
Diffstat (limited to 'sysdeps/generic/pt-cond-timedwait.c')
-rw-r--r-- | sysdeps/generic/pt-cond-timedwait.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sysdeps/generic/pt-cond-timedwait.c b/sysdeps/generic/pt-cond-timedwait.c index 483f277..56eb1ec 100644 --- a/sysdeps/generic/pt-cond-timedwait.c +++ b/sysdeps/generic/pt-cond-timedwait.c @@ -46,6 +46,7 @@ __pthread_cond_timedwait_internal (pthread_cond_t *cond, { error_t err; int canceltype; + clockid_t clock_id = __pthread_default_condattr.clock; void cleanup (void *arg) { @@ -68,6 +69,8 @@ __pthread_cond_timedwait_internal (pthread_cond_t *cond, /* Add ourselves to the list of waiters. */ __pthread_spin_lock (&cond->__lock); __pthread_enqueue (&cond->__queue, self); + if (cond->__attr) + clock_id = cond->__attr->clock; __pthread_spin_unlock (&cond->__lock); __pthread_mutex_unlock (mutex); @@ -79,7 +82,7 @@ __pthread_cond_timedwait_internal (pthread_cond_t *cond, if (abstime) { - err = __pthread_timedblock (self, abstime); + err = __pthread_timedblock (self, abstime, clock_id); if (err) /* We timed out. We may need to disconnect ourself from the waiter queue. |