8bbfb5cda1
pthread_cond_timedwait() in PosixCond.hxx:timed_wait(PosixMutex...) returns EINVAL, if ts.tv_nsec >= 1E9. In this case, it returns to early. Find attached a patch which fixes this. I chose a compare-subtraction method to keep ts.tv_nsec below 1E9. Another option would be ts.tv_sec += ts.tv_nsec / 1000000000; ts.tv_nsec %= 1000000000; But I guess this takes more time on some ARM processors, which don't support hardware division. |
||
---|---|---|
.. | ||
Cond.hxx | ||
CriticalSection.hxx | ||
Id.hxx | ||
Mutex.hxx | ||
Name.hxx | ||
PosixCond.hxx | ||
PosixMutex.hxx | ||
Slack.hxx | ||
Thread.cxx | ||
Thread.hxx | ||
Util.cxx | ||
Util.hxx | ||
WindowsCond.hxx |