PTHREAD_COND_INIT(3)    NetBSD Library Functions Manual   PTHREAD_COND_INIT(3)

NAME
     pthread_cond_init -- create a condition variable

LIBRARY
     POSIX Threads Library (libpthread, -lpthread)

SYNOPSIS
     #include <pthread.h>

     int
     pthread_cond_init(pthread_cond_t * restrict cond,
         const pthread_condattr_t * restrict attr);

DESCRIPTION
     The pthread_cond_init() function creates a new condition variable, with
     attributes specified with attr.  If attr is NULL the default attributes
     are used.

     Condition variables are intended to be used to communicate changes in the
     state of data shared between threads.  Condition variables are always
     associated with a mutex to provide synchronized access to the shared
     data.  A single predicate should always be associated with a condition
     variable.  The predicate should identify a state of the shared data that
     must be true before the thread proceeds.

RETURN VALUES
     If successful, the pthread_cond_init() function will return zero and put
     the new condition variable id into cond, otherwise an error number will
     be returned to indicate the error.

ERRORS
     pthread_cond_init() shall fail if:

     [EAGAIN]           The system lacks the resources to initialize another
                        condition variable.

     [ENOMEM]           The process cannot allocate enough memory to initial-
                        ize another condition variable.

     pthread_cond_init() may fail if:

     [EINVAL]           The value specified by attr is invalid.

SEE ALSO
     pthread_cond_broadcast(3), pthread_cond_destroy(3),
     pthread_cond_signal(3), pthread_cond_timedwait(3), pthread_cond_wait(3)

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

NetBSD 5.0_STABLE              January 30, 2003              NetBSD 5.0_STABLE
