Описание: | Сигнал аварийного завершения используемый abort() |
---|---|
По умолчанию: | завершение с дампом памяти |
коды SA_SIGINFO | |
(не имеет специфических кодов) |
В POSIX-системах, SIGABRT — сигнал, посылаемый процессом самому себе при выполнении функции abort()
, для аварийного останова, в случае невозможности дальнейшего продолжения программы.
SIGABRT — целочисленная константа, определенная в заголовочном файле signal.h
. Символьные имена сигналов используются вместо номеров, так как в разных реализациях номера сигналов могут различаться.
В GNU/Linux, также есть сигнал SIGIOT который является синонимом SIGABRT.
SIG — общий префикс сигналов, АBRT — сокращенное написание англ. abort — преждевременное прекращение, прерывание (английский компьютерный жаргон). IOT аббревиатура англ. I/O transfer Trap — ловушка ввода-вывода (также IOT является мнемоникой инструкции PDP-8 аббревиатура I/O Transfer)
Сигнал SIGABRT процесс посылает сам себе, когда вызывает функцию abort()
(функция libc, с прототипом в stdlib.h). Сигнал SIGABRT может быть перехвачен или проигнорирован, но abort()
принудительно завершит программу (предварительно сбросив и закрыв стандартные потоки и сделав дамп памяти программы) даже если этого не сделает обработчик сигнала. Таким образом функция abort()
гарантирует завершение программы, почему она часто используется библиотеками в аварийных ситуациях — когда выполнение не должно быть продолжено, но основная программа должна иметь возможность выполнить действия, необходимые перед аварийным завершением.
Также SIGABRT вызывается утверждениями (англ. assertions; средство отладки Си — макроопределение assert()
вызывает abort()
если утверждение переданное в качестве аргумента ложно).
В этой статье не хватает ссылок на источники информации. |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .