![]()  | 
![]()  | 
![]()  | 
![]()  | 
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 | 
![]()  | 
![]()  | 
![]()  | 
![]()  |