Сгенерировать сигнал 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 системной библиотеки