Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

pthread_cond_timedwait(3)  —  Subroutines

Digital

NAME

pthread_cond_timedwait − Causes a thread to wait for a condition variable to be signaled or broadcast for a specified period of time. 

SYNOPSIS

#include <pthread.h>
int pthread_cond_timedwait(

pthread_cond_t ∗cond ,
pthread_mutex_t ∗mutex ,
struct timespc ∗abstime );

PARAMETERS

condCondition variable waited on. 

mutexMutex associated with the condition variable specified in cond. 

abstimeAbsolute time at which the wait expires, if the condition has not been signaled or broadcast. (See the pthread_get_expiration_np routine, which is used to obtain a value for this parameter.) 

DESCRIPTION

This routine causes a thread to wait until one of the following occurs:

       •The specified condition variable is signaled or broadcast. 

       •The current system clock time is greater than or equal to the time specified by the abstime parameter. 

This routine is identical to pthread_cond_wait except that this routine can return before a condition variable is signaled or broadcast — 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. 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 VALUES

If an error condition occurs, this routine returns −1 and errno is set to the corresponding error value. Possible return values are as follows:

Return Error Description
 0 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.

RELATED INFORMATION

pthread_cond_broadcast, pthread_cond_destroy, pthread_cond_init, pthread_cond_signal, pthread_cond_wait, pthread_get_expiration_np

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026