• Christian Körner's avatar
    thread/PosixCond: fix timed_wait · 8bbfb5cd
    Christian Körner authored
    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.
    8bbfb5cd
Name
Last commit
Last update
..
Cond.hxx Loading commit data...
CriticalSection.hxx Loading commit data...
Id.hxx Loading commit data...
Mutex.hxx Loading commit data...
Name.hxx Loading commit data...
PosixCond.hxx Loading commit data...
PosixMutex.hxx Loading commit data...
Slack.hxx Loading commit data...
Thread.cxx Loading commit data...
Thread.hxx Loading commit data...
Util.cxx Loading commit data...
Util.hxx Loading commit data...
WindowsCond.hxx Loading commit data...