Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PTHREAD_MUTEX_TIMED... FreeBSD Library Functions Manual	PTHREAD_MUTEX_TIMED...

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:

     [Er ENOTRECOVERABLE]
			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 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 ex-
			pired.

     [EAGAIN]		The mutex could	not be acquired	because	the maximum
			number of recursive locks for the mutex	has been ex-
			ceeded.

     [EDEADLK]		The current thread already owns	the mutex.

     [EOWNERDEAD]	The argument mutex points to a robust mutex and	the
			process	containing the previous	owning thread termi-
			nated while holding the	mutex lock.  The lock was
			granted	to the caller and it is	up to the new owner to
			make the state consistent.

     [ENOTRECOVERABLE]	The state protected by the mutex is not	recoverable.

SEE ALSO
     pthread_mutex_consistent(3), 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").

FreeBSD	13.0			August 7, 2019			  FreeBSD 13.0

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=pthread_mutex_timedlock&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help