【发布时间】:2017-11-20 14:35:39
【问题描述】:
我正在调用pthread_cond_timedwait,我在其中设置低于超时值
clock_gettime(CLOCK_MONOTONIC, &timeout);
//timeout.tv_sec+= 1;
timeout.tv_nsec+= 100000000;
ret = pthread_cond_timedwait(&Cond, &Mtx, &timeout);
但是,一段时间后我得到了 ret 值 22 但 errno 是成功的。
如果我启用timeout.tv_sec 并注释掉timeout.tv_nsec,那么我看不到任何问题,而且我总是将 ret 值设为零,但反之亦然。
谁能帮我理解为什么pthread_cond_timedwait 返回22 而errno 为零?
【问题讨论】: