Warning: main(/www/www/htdocs/style/globals.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_rwlock_rdlock.html on line 1

Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/globals.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_rwlock_rdlock.html on line 1

Warning: main(/www/www/htdocs/style/header.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_rwlock_rdlock.html on line 8

Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/header.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_rwlock_rdlock.html on line 8

pthread_rwlock_rdlock()

Acquire a shared read lock on a read-write lock

Synopsis:

#include <pthread.h>

int pthread_rwlock_rdlock( pthread_rwlock_t* rwl );

Arguments:

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

Library:

libc

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

Description:

The pthread_rwlock_rdlock() function acquires a shared lock on the read-write lock referenced by rwl. If the read-write lock is already exclusively locked, the calling thread blocks until the exclusive lock is released.

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

A thread may hold several read locks on the same read-write lock; it must call pthread_rwlock_unlock() multiple times to release its read lock.

Returns:

EOK
Success.
EAGAIN
On the first use of 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_tryrdlock(), pthread_rwlock_trywrlock(), pthread_rwlock_unlock(), pthread_rwlock_wrlock()

Processes and Threads chapter of Getting Started with QNX Neutrino


Warning: main(/www/www/htdocs/style/footer.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_rwlock_rdlock.html on line 157

Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/footer.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/p/pthread_rwlock_rdlock.html on line 157