DragonFly On-Line Manual Pages
PTHREAD_MUTEX_TIME... DragonFly Library Functions Manual PTHREAD_MUTEX_TIME...
NAME
pthread_mutex_timedlock -- lock a mutex without blocking indefinitely
LIBRARY
POSIX Threads Library (libpthread, -lpthread)
SYNOPSIS
#include <pthread.h>
#include <time.h>
int
pthread_mutex_timedlock(pthread_mutex_t * restrict mutex,
const struct timespec * restrict abs_timeout);
DESCRIPTION
The pthread_mutex_timedlock() function will lock mutex. If it is already
locked the calling thread will block until the mutex becomes available or
the timeout, specified by abs_timeout, expires. The time of the timeout
is an absolute time and is not relative to the current time.
RETURN VALUES
If successful, pthread_mutex_timedlock() will return zero, otherwise an
error number will be returned to indicate the error.
ERRORS
The pthread_mutex_timedlock() function will fail if:
[EINVAL] The mutex was created with the protocol attribute
having the value PTHREAD_PRIO_PROTECT and the calling
thread's priority is higher than the mutex's current
priority ceiling.
[EINVAL] The process or thread would have blocked, and
abs_timeout specified a nanosecond value less than
zero or greater than or equal to 1 billion.
[EINVAL] The mutex parameter is invalid.
[ETIMEDOUT] The mutex could not be locked before the timeout
expired.
[EAGAIN] The mutex could not be acquired because the maximum
number of recursive locks for the mutex has been
exceeded.
[EDEADLK] The current thread already owns the mutex.
SEE ALSO
pthread_mutex_destroy(3), pthread_mutex_getprioceiling(3),
pthread_mutex_init(3), pthread_mutex_lock(3),
pthread_mutex_setprioceiling(3), pthread_mutex_trylock(3),
pthread_mutex_unlock(3)
STANDARDS
The pthread_mutex_timedlock() function is expected to conform to ISO/IEC
9945-1:1996 (``POSIX.1'').
DragonFly 5.1 February 22, 2018 DragonFly 5.1