Causes a thread to wait for a condition variable to be signaled or broadcasted for a specified period of time.
pthread_cond_timedwait( cond, mutex, abstime );
Argument Data Type Accesscond opaque pthread_cond_t read mutex opaque pthread_mutex_t read abstime structure timespec read
int pthread_cond_timedwait ( pthread_cond_t *cond, pthread_mutex_t *mutex, struct timespec *abstime);
This routine is identical to pthread_cond_wait except that this routine can return before a condition variable is signaled or broadcasted; specifically, when a specified time expires.
If the current time equals or exceeds the expiration time, this routine returns immediately, without causing the current thread to wait. Your code should check the return status whenever this routine returns and take the appropriate action. Otherwise, waiting on the condition variable can become a nonblocking loop.
Call this routine after you lock the mutex specified in mutex. The results of this routine are unpredictable if this routine is called without first locking the mutex.
Return Error Description0 Successful completion. -1 [EINVAL] The value specified by cond, mutex, or abstime is invalid. Different mutexes are supplied for concurrent pthread_cond_timedwait operations or pthread_ cond_wait operations on the same condition variable. -1 [EAGAIN] The time specified by abstime expired. -1 [EDEADLK] A deadlock condition is detected.