PTHREAD_MUTEX_INIT(3)

NAME
pthread_mutex_init - create a mutex

SYNOPSIS
libpthread
#include <pthread.h>
int
pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr);

DESCRIPTION
The pthread_mutex_init() function creates a new mutex, with attributes specified with attr. If attr is NULL the default attributes are used, otherwise attr should be initialized by calling pthread_mutexattr_init(3).

A mutex may also be initialized by assignment with the macro PTHREAD_MUTEX_INITIALIZER.

RETURN VALUES
If successful, pthread_mutex_init() will return zero and put the new mutex ID into mutex, otherwise an error number will be returned to indicate the error.

ERRORS
pthread_mutex_init() will fail if:

[EINVAL]
    The value specified by attr is invalid.

[ENOMEM]
    The process cannot allocate enough memory to create another mutex.

SEE ALSO
pthread_mutex_destroy(3), pthread_mutex_lock(3), pthread_mutex_unlock(3), pthread_mutexattr_init(3)

STANDARDS
pthread_mutex_init() conforms to p1003.1-96.