Linux repositories inspector
GNU
2017-11-26

man-pages-ru

Russian man pages from the Linux Documentation Project

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

ИМЯ

abort - аварийно завершает процесс

ОБЗОР

#include <stdlib.h>

void abort(void);

ОПИСАНИЕ

Сначала функция abort() разблокирует сигнал SIGABRT, а затем генерирует этот сигнал для вызывающего процесса (как если бы была вызвана raise(3)). Это приводит к аварийному завершению процесса, если сигнал SIGABRT не обрабатывается и обработчик сигнала не возвращает управление (смотрите longjmp(3)).
Если сигнал SIGABRT игнорируется или обрабатывается обработчиком, который возвращает управление, то функция abort() всё равно завершит процесс. Она восстанавливает обработчик SIGABRT по умолчанию, а затем генерирует сигнал повторно.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

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

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).
Интерфейс Атрибут Значение
abort() Безвредность в нитях MT-Safe

ЗАМЕЧАНИЯ

Вплоть до glibc 2.26, если функция abort() вызывала завершение процесса, то все открытые потоки закрывались и сбрасывались на диск (как при fclose(3)). Однако, в некоторых случаях это могло приводить к взаимным блокировкам и повреждению данных. Поэтому, начиная с glibc 2.27, abort() завершает процесс не сбрасывая потоки на диск. В POSIX.1 разрешено и такое поведение, там указано, что abort() «может выполнить попытку отработать как fclose() на все открытые потоки».

СООТВЕТСТВИЕ СТАНДАРТАМ

SVr4, POSIX.1-2001, POSIX.1-2008, 4.3BSD, C89, C99.

СМОТРИТЕ ТАКЖЕ

⇧ Top