1 
2 #include <time.h>
3 #include <pthread.h>
4 #include <assert.h>
5 #include <errno.h>
6 
main()7 int main()
8 {
9    struct timespec abstime;
10    pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
11    pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
12 
13 
14 
15 
16    abstime.tv_sec = time(NULL) + 2;
17    abstime.tv_nsec = 0;
18 
19    abstime.tv_nsec += 1000000000;
20 
21    assert(pthread_mutex_lock(&mutex)==0);
22    assert(pthread_cond_timedwait(&cond, &mutex, &abstime)==EINVAL);
23    assert(pthread_mutex_unlock(&mutex)==0);
24 
25    return 0;
26 }
27