diff options
Diffstat (limited to 'lib/libthr/thread')
-rw-r--r-- | lib/libthr/thread/thr_cond.c | 3 | ||||
-rw-r--r-- | lib/libthr/thread/thr_mutex.c | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/lib/libthr/thread/thr_cond.c b/lib/libthr/thread/thr_cond.c index e7e91d9..9292669 100644 --- a/lib/libthr/thread/thr_cond.c +++ b/lib/libthr/thread/thr_cond.c @@ -308,10 +308,9 @@ cond_wait_common(pthread_cond_t * cond, pthread_mutex_t * mutex, * before we got a chance to run again. We check for * this by looking to see if our state is RUNNING. */ - if (rval == EAGAIN) { + if (rval == ETIMEDOUT) { if (curthread->state != PS_RUNNING) { PTHREAD_SET_STATE(curthread, PS_RUNNING); - rval = ETIMEDOUT; } else rval = 0; } diff --git a/lib/libthr/thread/thr_mutex.c b/lib/libthr/thread/thr_mutex.c index 75d7323..94c6c25 100644 --- a/lib/libthr/thread/thr_mutex.c +++ b/lib/libthr/thread/thr_mutex.c @@ -905,7 +905,7 @@ get_mcontested(pthread_mutex_t mutexp, const struct timespec *abstime) PANIC("Cannot suspend on mutex."); _SPINLOCK(&mutexp->lock); _thread_critical_enter(curthread); - if (error == EAGAIN) { + if (error == ETIMEDOUT) { /* * Between the timeout and when the mutex was * locked the previous owner may have released |