This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
Suspend a thread for a given number of microseconds
#include <unistd.h> int usleep( useconds_t useconds );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The usleep() function suspends the calling thread until useconds microseconds of realtime have elapsed, or until a signal that isn't ignored is received. The time spent suspended could be longer than the requested amount due to the scheduling of other, higher-priority threads.
If useconds is 0, usleep() has no effect.
/* * The following program sleeps for the * number of microseconds specified in argv[1]. */ #include <stdlib.h> #include <unistd.h> int main( int argc, char **argv ) { useconds_t microseconds; microseconds = (useconds_t)strtol( argv[1], NULL, 0 ); if( usleep( microseconds ) == 0 ) { return EXIT_SUCCESS; } return EXIT_FAILURE; }
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
alarm(), nanosleep(), sigaction(), sleep(), timer_create(), timer_delete(), timer_getoverrun(), timer_gettime(), timer_settime(), ualarm()