PTHREAD_MUTEX_LOCK(3)

NAME
pthread_mutex_lock, pthread_mutex_trylock - acquire a lock on a mutex

LIBRARY
libpthread

SYNOPSIS
#include <pthread.h>
int
pthread_mutex_lock(pthread_mutex_t *mutex);
int
pthread_mutex_trylock(pthread_mutex_t *mutex);

DESCRIPTION
The pthread_mutex_lock() function locks mutex. If the mutex is already locked, the calling thread will block until the mutex becomes available.

The pthread_mutex_trylock() function locks mutex. If the mutex is already locked, pthread_mutex_trylock() will not block waiting for the mutex, but will return an error condition.

RETURN VALUES
If successful, pthread_mutex_lock() and pthread_mutex_trylock() will return zero, otherwise an error number will be returned to indicate the error.

ERRORS
pthread_mutex_lock() may fail if:

[EINVAL]
    The value specified by mutex is invalid.

[EDEADLK]
    A deadlock would occur if the thread blocked waiting for mutex.

pthread_mutex_trylock() shall fail if:

[EBUSY]
    Mutex is already locked.

pthread_mutex_trylock() may fail if:

[EINVAL]
    The value specified by mutex is invalid.

SEE ALSO
pthread_mutex_destroy(3), pthread_mutex_init(3), pthread_mutex_unlock(3)

STANDARDS
pthread_mutex_lock() and pthread_mutex_trylock() conform to p1003.1-96.