summaryrefslogtreecommitdiffstats
path: root/src/corelib/thread/qmutex_unix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/thread/qmutex_unix.cpp')
-rw-r--r--src/corelib/thread/qmutex_unix.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/corelib/thread/qmutex_unix.cpp b/src/corelib/thread/qmutex_unix.cpp
index 41d87a7..dd7e5d1 100644
--- a/src/corelib/thread/qmutex_unix.cpp
+++ b/src/corelib/thread/qmutex_unix.cpp
@@ -94,8 +94,11 @@ bool QMutexPrivate::wait(int timeout)
errorCode = pthread_cond_timedwait(&cond, &mutex, &ti);
}
if (errorCode) {
- if (errorCode == ETIMEDOUT)
+ if (errorCode == ETIMEDOUT) {
+ if (wakeup)
+ errorCode = 0;
break;
+ }
report_error(errorCode, "QMutex::lock()", "cv wait");
}
}