#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;
}