Suspend a thread for a given length of time
#include <unistd.h> unsigned int sleep( unsigned int seconds );
libc
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 scheduling of other, higher priority threads by the system.
0 if the full time specified was completed; otherwise, the number of seconds unslept if interrupted by a signal.
/*
* 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;
}
| Safety: | |
|---|---|
| Cancellation point | Yes |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
alarm(), delay(), errno, nanosleep(), timer_create(), timer_gettime(), timer_settime(), usleep()