abort()

Сгенерировать сигнал SIGABRT для прерывания выполнения программы

Прототип:

#include <stdlib.h>
void abort( void );

Библиотека:

libc

Описание:

Функция abort() вызывает аварийное завершение программы посредством вызова функции raise( SIGABRT ), если только сигнал SIGABRT не перехватывается обработчиком сигнала, который не возвращает управление программе. Если же сигнал SIGABRT был перехвачен и обработчик вернул управление, то обработчик сигнала удаляется и производится повторный вызов функции raise( SIGABRT ). При вызове raise() функция abort() гарантирует, что сигнал SIGABRT будет обработан, даже если он игнорируется или заблокирован.

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

Функция abort() никогда не возвращает управление.

Примеры:

#include <stdlib.h>
int main( void )
{
int major_error = 1;
if ( major_error )
abort();
/* You'll never get here. */
return (EXIT_SUCCESS);
}

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

ANSI, POSIX 1003.1

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Смотри ниже
В потоке
Да

Предостережения:

Для приложения, строго соответствующего POSIX, не должно предполагаться, что функцию abort() безопасно использовать в обработчике сигналов на других платформах.

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

atexit(), close(), execl(), execle(), execlp(), execlpe(), execv(), execve(), execvp(), execvpe(), _exit(), exit(), getenv(), main(), putenv(), sigaction(), signal(), spawn*(), system(), wait(), waitpid()




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