Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pthread_rwlock_init(3t) [hpux man page]

pthread_rwlock_init(3T) 												   pthread_rwlock_init(3T)

NAME
pthread_rwlock_init(), pthread_rwlock_destroy() - initialize or destroy a read-write lock SYNOPSIS
PARAMETERS
rwlock Pointer to the read-write lock to be initialized or destroyed. attr Pointer to the attributes object that defines the characteristics of the read-write lock to be initialized. If the pointer is NULL, default attributes are used. DESCRIPTION
initializes the read-write lock referenced by rwlock with the attributes attr. If attr is NULL, the default read-write lock attributes are used. Upon successful initialization, the state of the read-write lock becomes initialized and unlocked. Attempting to initialize an already initialized read-write lock object results in undefined behavior. The macro can be used to initialize read-write locks which are statically allocated. The effect is equivalent to dynamic initialization by a call to with the attr parameter specified as NULL, except that no error checks are performed. The read-write lock will be initialized with default attributes. If the process-shared attribute in the read-write lock attributes object referenced by attr is defined as the read-write lock must be allo- cated such that the processes sharing the read-write lock has access to it. This may be done through the memory-mapping functions (see mmap(2)) or shared memory functions (see shmget(2)). destroys the read-write referenced by rwlock. This function may set rwlock to an invalid value. The destroyed read-write lock can be reinitialized using the function If the read-write lock is referenced after destruction in any read-write lock call, the resulting behavior is undefined. A read-write lock should be destroyed only when no threads are currently using it. Destroying a read-write lock which is currently in use results in undefined behavior. RETURN VALUE
Upon successful completion, and returns zero. Otherwise, an error number is returned to indicate the error (the variable is not set). ERRORS
If any of the following occur, the function returns the corresponding error number: The necessary resources (other than memory) to initialize rwlock are not available. rwlock is an already initialized read-write lock. However, getting for reinitializing the rwlock cannot be expected all the time since the behavior of reinitializing the rwlock is undefined. The value specified by rwlock or attr is invalid. There is insufficient memory available in which to initialize the read-write lock rwlock. The caller does not have the privilege to perform the operation. If any of the following occur, the function returns the corresponding error number: rwlock is currently locked or being used by other threads. The value specified by rwlock is invalid. WARNINGS
The space for the read-write lock must to be allocated before calling Undefined behavior may result if the process-shared attribute of attr is and the space allocated for the read-write lock is not accessible to cooperating threads. AUTHOR
and were developed by X/Open. SEE ALSO
pthread_rwlock_rdlock(3T), pthread_rwlock_tryrdlock(3T), pthread_rwlock_trywrlock(3T), pthread_rwlock_unlock(3T), pthread_rwlock_wrlock(3T). STANDARDS CONFORMANCE
Pthread Library pthread_rwlock_init(3T)

Check Out this Related Man Page

pthread_rwlock_unlock(3T)												 pthread_rwlock_unlock(3T)

NAME
pthread_rwlock_unlock() - unlock a read-write lock. SYNOPSIS
PARAMETERS
rwlock Pointer to the read-write lock to be unlocked. DESCRIPTION
The function is called by the owner to release the read-write lock referenced by rwlock. Results are undefined if the read-write lock rwlock is not held by the calling thread. If this function is called to release a read lock on the read-write lock rwlock and there are other read locks currently held on this read- write lock, the read-write lock shall remain in the read locked state but without the current thread as one of its owners. If this function releases the last read lock for this read-write lock, the object shall be put in the unlocked state with no owners. If this function is called to release a write lock on the read-write lock rwlock, the read-write lock shall be put in the unlocked state with no owners. If the call to the function results in the read-write lock becoming unlocked and there are threads waiting to acquire the read-write lock for writing, the scheduling policy is used to determine which thread shall acquire the read-write lock for writing. If there are threads waiting to acquire the read-write lock object for reading, the scheduling policy is used to determine the order in which the waiting threads shall acquire the read-write lock object for reading. If there are multiple threads blocked on rwlock for both read locks and write locks, it is unspecified whether the readers will acquire the lock first or whether a writer will acquire the lock first. Results are undefined if this function is called with an uninitialized read-write lock. RETURN VALUE
Upon successful completion, returns zero. Otherwise, an error number is returned to indicate the error (the variable is not set). ERRORS
For each of the following conditions, if the condition is detected, the function returns the corresponding error number: [EINVAL] The value specified by rwlock does not refer to an initialized read-write lock object. [EPERM] The current thread does not own the read-write lock. AUTHOR
was developed by X/Open. SEE ALSO
pthread_rwlock_init(3T), pthread_rwlock_destroy(3T), pthread_rwlock_rdlock(3T), pthread_rwlock_wrlock(3T), pthread_rwlock_tryrdlock(3T), pthread_rwlock_trywrlock(3T). STANDARDS CONFORMANCE
Pthread Library pthread_rwlock_unlock(3T)
Man Page