sleep()
Suspend a thread for a given length of time
Synopsis:
#include <unistd.h>
unsigned int sleep( unsigned int seconds );
Arguments:
- seconds
- The number of realtime seconds that you want to suspend the thread for.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The sleep() function suspends the calling thread until the number of realtime seconds specified by the seconds argument have elapsed, or the thread receives a signal whose action is either to terminate the process or to call a signal handler. 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.
Returns:
0 if the full time specified was completed; otherwise, the number of seconds unslept if interrupted by a signal.
Examples:
/* * The following program sleeps for the * number of seconds specified in argv[1]. */ #include <stdlib.h> #include <unistd.h> int main( int argc, char **argv ) { unsigned seconds; seconds = (unsigned) strtol( argv[1], NULL, 0 ); sleep( seconds ); return EXIT_SUCCESS; }
Classification:
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |