summaryrefslogtreecommitdiff
path: root/src/thread
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2015-02-23 12:41:16 -0500
committerRich Felker <dalias@aerifal.cx>2015-02-23 12:41:16 -0500
commite487c203db36750388228a2db75f96040cbfae58 (patch)
tree0bab77171e2023cb85fb34c052c7842f2e4ba211 /src/thread
parent34b423d2077a4c799d2089068d3bec91fb800256 (diff)
downloadmusl-e487c203db36750388228a2db75f96040cbfae58.tar.gz
fix breakage in pthread_cond_wait due to typo
due to accidental use of = instead of ==, the error code was always set to zero in the signaled wake case for non-shared cv waits. suppressing ETIMEDOUT (the only possible wait error) is harmless and actually permitted in this case, but suppressing mutex errors could give the caller false information about the state of the mutex. commit 8741ffe625363a553e8f509dc3ca7b071bdbab47 introduced this regression and commit d9da1fb8c592469431c764732d09f7756340190e preserved it when reorganizing the code.
Diffstat (limited to 'src/thread')
-rw-r--r--src/thread/pthread_cond_timedwait.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/thread/pthread_cond_timedwait.c b/src/thread/pthread_cond_timedwait.c
index d28b478e..adf9c6e5 100644
--- a/src/thread/pthread_cond_timedwait.c
+++ b/src/thread/pthread_cond_timedwait.c
@@ -163,7 +163,7 @@ relock:
a_dec(&m->_m_waiters);
/* Since a signal was consumed, cancellation is not permitted. */
- if (e = ECANCELED) e = 0;
+ if (e == ECANCELED) e = 0;
done:
__pthread_setcancelstate(cs, 0);