NAME

pthread_mutex_lock, pthread_mutex_trylock - acquire a lock on a mutex

LIBRARY

POSIX Thread Library (libpthread, -lpthread)

SYNOPSIS



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:

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

[EINVAL]
The value specified by mutex is invalid.

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 ISO/IEC 9945-1:1996 (``POSIX.1'') .