![]() |
![]() |
![]() |
![]() |
![]() |
This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
Suspend the calling thread until delivery of a signal
#include <unistd.h> int pause( void );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The pause() function suspends the calling thread until delivery of a signal whose action is either to execute a signal handler or to terminate the process.
If the action is to terminate the process, pause() doesn't return. If the action is to execute a signal handler, pause() returns after the signal handler returns.
On error, pause() returns -1 and sets errno to EINTR; otherwise, it never returns.
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main( void )
{
/* set an alarm to go off in 5 seconds */
alarm( 5 );
/*
* Wait until we receive a SIGALRM signal. However,
* since we don't have a signal handler, any signal
* will kill us.
*/
printf( "Hang around, "
" waiting to die in 5 seconds\n" );
pause();
return EXIT_SUCCESS;
}
| Safety: | |
|---|---|
| Cancellation point | Yes |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
![]() |
![]() |
![]() |
![]() |