IPnom Home • Manuals • FreeBSD

 FreeBSD Man Pages

Man Sections:Commands (1)System Calls (2)Library Functions (3)Device Drivers (4)File Formats (5)Miscellaneous (7)System Utilities (8)
Keyword Live Search (10 results max):
 Type in part of a command in the search box.
 


pthread_rwlock_timedrdlock(3)

NAME

     pthread_rwlock_timedrdlock -- acquire a read-write lock for reading or
     give up after a specified period


LIBRARY

     POSIX Threads Library (libpthread, -lpthread)
     1:1 Threading Library (libthr, -lthr)


SYNOPSIS

     #include <pthread.h>

     int
     pthread_rwlock_timedrdlock(pthread_rwlock_t *rwlock,
	 const struct timespec *abs_timeout);


DESCRIPTION

     This function acquires a read lock on the read-write lock rwlock.	How-
     ever, if the lock cannot be acquired without waiting for another thread
     to unlock the lock, this wait shall be terminated when abs_timeout
     expires.

     A thread may hold multiple concurrent read locks.	The
     pthread_rwlock_unlock(3) function must be called once for each lock
     acquired.

     If the thread should be interrupted by a signal, the
     pthread_rwlock_timedrdlock() function will be automatically restarted
     after the thread returns from the signal handler.

     The calling thread may deadlock if at the time the call is made it holds
     a write lock on rwlock.  The results are undefined if this function is
     called with an uninitialized read-write lock.


IMPLEMENTATION NOTES

     To prevent writer starvation, writers are favored over readers.


RETURN VALUES

     If successful, the pthread_rwlock_timedrdlock() function will return
     zero.  Otherwise, an error number will be returned to indicate the error.

     This function shall not return an error code of EINTR.


ERRORS

     The pthread_rwlock_timedrdlock() function will fail if:

     [ETIMEDOUT]	The lock could not be acquired before the specified
			timeout expired.

     The pthread_rwlock_timedrdlock() function may fail if:

     [EAGAIN]		The read lock could not be acquired because the maxi-
			mum number of read locks for rwlock would be exceeded.

     [EDEADLK]		The calling thread already holds a write lock on
			rwlock.

     [EINVAL]		The value specified by rwlock does not refer to an


STANDARDS

     The pthread_rwlock_timedrdlock() function is expected to conform to
     ISO/IEC 9945-1:1996 (``POSIX.1'').


HISTORY

     The pthread_rwlock_timedrdlock() function first appeared in FreeBSD 5.2.

FreeBSD 5.4		       January 16, 2004 		   FreeBSD 5.4

SPONSORED LINKS




Man(1) output converted with man2html , sed , awk