#include <time.h> #include <pthread.h> #include <assert.h> #include <errno.h> int main() { struct timespec abstime; pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; pthread_cond_t cond = PTHREAD_COND_INITIALIZER; abstime.tv_sec = time(NULL) + 2; abstime.tv_nsec = 0; abstime.tv_nsec += 1000000000; assert(pthread_mutex_lock(&mutex)==0); assert(pthread_cond_timedwait(&cond, &mutex, &abstime)==EINVAL); assert(pthread_mutex_unlock(&mutex)==0); return 0; }