PTHREAD_MUTEX_TIMEDLOCK(3) | FreeBSD Library Functions Manual | PTHREAD_MUTEX_TIMEDLOCK(3) |
NAME
pthread_mutex_timedlock — lock a mutex without blocking indefinitelyLIBRARY
POSIX Threads Library (libpthread, -lpthread)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 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_init(3), pthread_mutex_lock(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”).December 30, 2003 | FreeBSD |