1
2#include <time.h>
3#include <pthread.h>
4#include <assert.h>
5#include <errno.h>
6
7int 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