Lock the pthread_sleepon* functions
#include <pthread.h> int pthread_sleepon_lock( void );
Use the -l c option to qcc to link against this library. This library is usually included automatically.
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.
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