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_sleepon_lock.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_sleepon_lock.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_sleepon_lock.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_sleepon_lock.html on line 8

pthread_sleepon_lock()

Lock the pthread_sleepon* functions

Synopsis:

#include <pthread.h>

int pthread_sleepon_lock( void );

Library:

libc

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

Description:

The pthread_sleepon_lock() function calls pthread_mutex_lock() on a mutex associated with the pthread_sleepon* class of functions. You should call this function before testing conditions that determine whether you need to call pthread_sleepon_wait(), pthread_sleepon_signal(), or pthread_sleepon_broadcast(). This mutex prevents other threads from changing the conditions between the time you examine and act upon them.

This function may be implemented as a simple macro.

Returns:

EOK
Success.
EDEADLK
The calling thread already owns the controlling mutex.
EAGAIN
On the first use of pthread_sleepon_lock(), all kernel mutex objects were in use.

Classification:

QNX Neutrino

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

See also:

pthread_mutex_lock(), pthread_sleepon_broadcast(), pthread_sleepon_signal(), pthread_sleepon_unlock(), pthread_sleepon_wait()

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_sleepon_lock.html on line 133

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_sleepon_lock.html on line 133