pause()

Приостановить вызывающий поток до приема сигнала

Прототип:

#include <unistd.h>
int pause( void );

Библиотека:

libc

Описание:

Функция pause() приостанавливает вызывающий поток до доставки сигнала, действия которого включают в себя либо выполнение обработчика сигнала, либо завершение процесса.

Если действие завершает процесс, pause() не возвращает управление. Если действие направлено на выполнение обработчика сигнала, pause() возвращает управление после завершения обработчика.

Возвращаемое значение:

Если возникла ошибка функция возвращает -1, в errno записывается значение EINTR. В противном случае функция не возвращает управление.

Примеры:

#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);
}

Классификация:

POSIX 1003.1

Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

alarm(), errno, sigaction()




Предыдущий раздел: Описание API системной библиотеки