当在linux中等待条件变量时,condition_timed_wiat时间过去会发生什么

时间:2016-03-31 17:50:34

标签: linux variables conditional-statements synchronisation

在linux中等待条件变量时,condition_timed_wiat()时间过去会发生什么

struct timeval tv;
    struct timespec ts;

    gettimeofday(&tv, NULL);
    ts.tv_sec = time(NULL) + timeInMs / 1000;
    ts.tv_nsec = tv.tv_usec * 1000 + 1000 * 1000 * (timeInMs % 1000);
    ts.tv_sec += ts.tv_nsec / (1000 * 1000 * 1000);
    ts.tv_nsec %= (1000 * 1000 * 1000);

    n = pthread_cond_timedwait(&condition, &mutex, &ts);

1 个答案:

答案 0 :(得分:0)

该函数返回ETIMEDOUT(非零值)并且互斥锁未锁定。