Command Section

PTHREAD_MUTEX_TIMEDLOCK(3)                    FreeBSD Library Functions Manual

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
                        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.

     [EOWNERDEAD]       The argument mutex points to a robust mutex and the
                        process containing the previous owning thread
                        terminated 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.1-RELEASE-p6         August 7, 2019         FreeBSD 13.1-RELEASE-p6

Command Section

man2web Home...