From a3c99cc476621da1333b1cf0384e3623b3f72b39 Mon Sep 17 00:00:00 2001 From: Alexey Yakovenko Date: Tue, 20 Apr 2010 18:58:55 +0200 Subject: lock mutex before calling pthread_cond_wait --- threading_pthread.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'threading_pthread.c') diff --git a/threading_pthread.c b/threading_pthread.c index e6b9df9c..00712266 100644 --- a/threading_pthread.c +++ b/threading_pthread.c @@ -180,7 +180,11 @@ int cond_wait (uintptr_t c, uintptr_t m) { pthread_cond_t *cond = (pthread_cond_t *)c; pthread_mutex_t *mutex = (pthread_mutex_t *)m; - int err = pthread_cond_wait (cond, mutex); + int err = mutex_lock (m); + if (err != 0) { + return err; + } + err = pthread_cond_wait (cond, mutex); if (err != 0) { fprintf (stderr, "pthread_cond_wait failed: %s\n", strerror (err)); } -- cgit v1.2.3