Меню
Главная
Случайная статья
Настройки
|
SIGABRT (от англ. signal и abort) — сигнал, используемый в POSIX-системах, посылаемый процессом самому себе при выполнении функции abort() для аварийной остановки с выполнением дампа памяти в случае невозможности дальнейшего продолжения программы.
Определён как целочисленная константа в заголовочном файле signal.h . В Linux используется сигнал-синоним — SIGIOT (от англ. I/O transfer trap — ловушка ввода-вывода).
Функция abort() , посылающая этот сигнал самому процессу, определена в libc с прототипом в stdlib.h. Сигнал может быть перехвачен или проигнорирован, но abort() принудительно завершит программу (предварительно сбросив и закрыв стандартные потоки и сделав дамп памяти программы), даже если этого не сделает обработчик сигнала. Таким образом функция abort() гарантирует завершение программы, почему она часто используется библиотеками в аварийных ситуациях — когда выполнение не должно быть продолжено, но основная программа должна иметь возможность выполнить действия, необходимые перед аварийным завершением.
Также SIGABRT вызывается утверждениями (средство отладки Си — макроопределение assert() вызывает abort() , если утверждение переданное в качестве аргумента ложно).
|
|