diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-02-09 19:19:25 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-02-09 19:24:42 +0000 |
commit | faae4b2bdd692d929037c80c3315f716f02f3b00 (patch) | |
tree | 7d29a9edf4af980bab7b03019e0611fcad5c14e4 /sysdeps/htl | |
parent | cd94860c56f8a463b93f2d7ec0c588a0259884fc (diff) | |
download | glibc-faae4b2bdd692d929037c80c3315f716f02f3b00.tar.gz glibc-faae4b2bdd692d929037c80c3315f716f02f3b00.tar.xz glibc-faae4b2bdd692d929037c80c3315f716f02f3b00.zip |
htl: make pthread_cond_destroy return EBUSY on waiters
Diffstat (limited to 'sysdeps/htl')
-rw-r--r-- | sysdeps/htl/pt-cond-destroy.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sysdeps/htl/pt-cond-destroy.c b/sysdeps/htl/pt-cond-destroy.c index 62cc77b0d2..b28e7e1ada 100644 --- a/sysdeps/htl/pt-cond-destroy.c +++ b/sysdeps/htl/pt-cond-destroy.c @@ -22,7 +22,14 @@ int __pthread_cond_destroy (pthread_cond_t *cond) { - return 0; + int ret = 0; + + __pthread_spin_lock (&cond->__lock); + if (cond->__queue) + ret = EBUSY; + __pthread_spin_unlock (&cond->__lock); + + return ret; } strong_alias (__pthread_cond_destroy, pthread_cond_destroy); |