0

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);
4

1 に答える 1

0

ETIMEDOUT関数は(0 以外の値である)戻り、mutex はロックされていません。

于 2016-03-31T18:22:53.753 に答える