Suspend a process for a given length of time
#include <unistd.h> unsigned int delay( unsigned int duration );
libc
The delay() function suspends the calling process for duration milliseconds.
![]() |
The suspension time may be greater than the requested amount, 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()