pthread_mutex_timedlock(3)
NAME
- pthread_mutex_timedlock - lock a mutex without blocking in
- definitely
LIBRARY
library ``libpthread'' library ``libthr''
SYNOPSIS
#include <pthread.h> #include <time.h> int pthread_mutex_timedlock(pthread_mutex_t *mutex, const struct timespec *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 hav
- ing the value PTHREAD_PRIO_PROTECT and
- the calling
thread's priority is higher than the mu - tex'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 bil - lion.
- [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_init(3), pthread_mu
- tex_lock(3),
pthread_mutex_trylock(3), pthread_mutex_unlock(3)
STANDARDS
- The pthread_mutex_timedlock() function is expected to con
- form to ISO/IEC
9945-1:1996 (``POSIX.1''). - BSD December 30, 2003