ABORT(3)

NAZWA
abort - awaryjne zakończenie procesu

SKŁADNIA
#include <stdlib.h>

noreturn void abort(void);

OPIS
Funkcja abort() najpierw odblokowuje sygnał SIGABRT, a następnie wysyła ten sygnał do procesu wywołującego (jakby wywołano raise(3). Skutkuje to nienormalnym zakończeniem procesu, chyba że sygnał SIGABRT został przechwycony i funkcja obsługi tego sygnału nie powraca (patrz longjmp(3)).

Jeśli sygnał SIGABRT jest ignorowany lub przechwytywany przez funkcje obsługi, która powraca, to funkcja abort() zakończy proces. Aby to zrobić, przywróci domyślną procedurę obsługi SIGABRT i ponownie wyśle ten sygnał.

WARTOŚĆ ZWRACANA
Funkcja abort() jest funkcją bez powrotu.

ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
Interfejs | Atrybut | Wartość
abort() | Bezpieczeństwo wątkowe | MT-Safe

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

UWAGI
Up until glibc 2.26, if the abort() function caused process termination, all open streams were closed and flushed (as with fclose(3)). However, in some cases this could result in deadlocks and data corruption. Therefore, starting with glibc 2.27, abort() terminates the process without flushing streams. POSIX.1 permits either possible behavior, saying that abort() "may include an attempt to effect fclose() on all open streams".

ZOBACZ TAKŻE
gdb(1), sigaction(2), assert(3), exit(3), longjmp(3), raise(3)

O STRONIE
Angielska wersja tej strony pochodzi z wydania 5.13 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Adam Byrtek <alpha@irc.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.