Mac Developer Library Developer


This manual page is part of Xcode Tools version 5.0

To obtain these tools:

If you are running a version of Xcode Tools other than 5.0, view the documentation locally:

  • In Xcode

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.


     pthread_cond_timedwait -- wait on a condition variable for a specific amount of time

     #include <pthread.h>

     pthread_cond_timedwait(pthread_cond_t *restrict cond, pthread_mutex_t *restrict mutex,
         const struct timespec *restrict abstime);

     The pthread_cond_timedwait() function atomically blocks the current thread waiting on the condition
     variable specified by cond and unblocks the mutex specified by mutex.  The waiting thread unblocks only
     after another thread calls pthread_cond_signal(3), or pthread_cond_broadcast(3) with the same condition
     variable, or if the system time reaches the time specified in abstime, and the current thread reac-quires reacquires
     quires the lock on mutex.

     Values for struct timespec can be obtained by adding the required time interval to the  the current
     time obtained using gettimeofday(2).

     Note that struct timeval and struct timespec use different units to specify the time. Hence, the user
     should always take care to perform the time unit conversions accordingly.

        struct timeval tv;
        struct timespec ts;
        gettimeofday(&tv, NULL);
        ts.tv_sec = tv.tv_sec + 0;
        ts.tv_nsec = 0;

     If successful, the pthread_cond_timedwait() function will return zero.  Otherwise, an error number will
     be returned to indicate the error.

     pthread_cond_timedwait() will fail if:

     [EINVAL]           The value specified by cond, mutex or abstime is invalid.

     [ETIMEDOUT]        The system time has reached or exceeded the time specified in abstime.

     pthread_cond_broadcast(3), pthread_cond_destroy(3), pthread_cond_init(3), pthread_cond_signal(3),
     pthread_cond_wait(3), gettimeofday(2)

     pthread_cond_timedwait() conforms to ISO/IEC 9945-1:1996 (``POSIX.1'').

BSD                              July 28, 1998                             BSD

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.