This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[hurd,commited 2/3] htl: make pthread_cond_destroy return EBUSY on waiters


---
 sysdeps/htl/pt-cond-destroy.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

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);
-- 
2.24.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]