This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
Suspends a calling thread for a given length of time
#include <unistd.h> unsigned int delay( unsigned int duration );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The delay() function suspends the calling thread for duration milliseconds.
The suspension time may be greater than the requested amount, due to the nature of time measurement (see the Tick, Tock: Understanding the Neutrino Microkernel's Concept of Time chapter of the QNX Neutrino Programmer's Guide), or due to the scheduling of other, higher-priority threads by the system. |
0 for success, or the number of unslept milliseconds if interrupted by a signal.
If an error occurs, errno is set to:
#include <unistd.h> #include <stdlib.h> void play_sound( void ) { … } void stop_sound( void ) { … } int main( void ) { play_sound(); delay( 500 ); /* delay for 1/2 second */ stop_sound(); return EXIT_SUCCESS; }
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
alarm(), errno, nanosleep(), nap(), napms(), sleep(), usleep()
Clocks, Timers, and Getting a Kick Every So Often chapter of Getting Started with QNX Neutrino
Tick, Tock: Understanding the Neutrino Microkernel's Concept of Time chapter of the QNX Neutrino Programmer's Guide