SIGABRT

Материал из Википедии — свободной энциклопедии
Перейти к навигацииПерейти к поиску
SIGABRT
ОписаниеСигнал аварийного завершения используемыйabort()
По умолчаниюзавершение с дампом памяти
КодыSA_SIGINFO
Не имеет специфических кодов

SIGABRT (отангл. signal иabort) — сигнал, используемый вPOSIX-системах, посылаемый процессом самому себе при выполнении функцииabort() для аварийной остановки с выполнениемдампа памяти в случае невозможности дальнейшего продолжения программы.

Определён как целочисленная константа в заголовочном файлеsignal.h. ВLinux используется сигнал-синоним —SIGIOT (отангл. I/O transfer trap — ловушка ввода-вывода).

Функцияabort(), посылающая этот сигнал самому процессу, определена вlibc с прототипом вstdlib.h. Сигнал может быть перехвачен или проигнорирован, ноabort() принудительно завершит программу (предварительно сбросив и закрыв стандартные потоки и сделав дамп памяти программы), даже если этого не сделает обработчик сигнала. Таким образом функцияabort() гарантирует завершение программы, почему она часто используется библиотеками в аварийных ситуациях — когда выполнение не должно быть продолжено, но основная программа должна иметь возможность выполнить действия, необходимые перед аварийным завершением.

Также SIGABRT вызываетсяутверждениями (средство отладки Си —макроопределениеassert() вызываетabort(), если утверждение переданное в качестве аргумента ложно).

Информация должна бытьпроверяема, иначе она может быть удалена. Вы можетеотредактировать статью, добавив ссылки наавторитетные источники в видесносок.(12 мая 2011)
Перейти к шаблону «Сигналы»
Некоторые сигналы, не включённые в POSIX, и синонимы
Источник —https://ru.wikipedia.org/w/index.php?title=SIGABRT&oldid=126367480
Категория:
Скрытые категории: