[Previous] [Contents] [Index] [Next]

Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

pthread_rwlock_wrlock()

Acquire an exclusive write lock on a read-write lock

Synopsis:

#include <pthread.h>

int pthread_rwlock_wrlock( 
            pthread_rwlock_t* rwl );

Arguments:

rwl
A pointer to a pthread_rwlock_t object that you want to lock for writing.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The pthread_rwlock_wrlock() function acquires an exclusive lock on the read-write lock referenced by rwl. If the read-write lock is already shared-locked by any thread (including the calling thread) or exclusively-locked by any thread (other than the calling thread), the calling thread blocks until all shared locks and exclusive locks are released.

If a signal is delivered to a thread waiting to lock a read-write lock, it resumes waiting for the lock after returning from the signal handler.

Returns:

EOK
Success.
EAGAIN
On the first use of a statically initialized read-write lock, insufficient system resources existed to initialize the read-write lock.
EDEADLK
The calling thread already has an exclusive lock for rwl.
EFAULT
A fault occurred when the kernel tried to access rwl.
EINVAL
The read-write lock rwl is invalid.

Classification:

POSIX 1003.1 THR

Safety:
Cancellation point Yes
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

pthread_rwlock_destroy(), pthread_rwlock_init(), pthread_rwlock_rdlock(), pthread_rwlock_tryrdlock(), pthread_rwlock_trywrlock(), pthread_rwlock_unlock()


[Previous] [Contents] [Index] [Next]