abort - awaryjne zakończenie procesu
Standardowa biblioteka C (
libc,
-lc)
#include <stdlib.h>
[[noreturn]] void abort(void);
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ł.
Funkcja
abort() jest funkcją bez powrotu.
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 |
SVr4, POSIX.1-2001, POSIX.1-2008, 4.3BSD, C99.
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".
gdb(1),
sigaction(2),
assert(3),
exit(3),
longjmp(3),
raise(3)
Autorami polskiego tłumaczenia niniejszej strony podręcznika
są: Adam Byrtek <
[email protected]>, Andrzej Krzysztofowicz
<
[email protected]>, Robert Luberda <
[email protected]> i
Michał Kułach <
[email protected]>
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 lub nowszej. Nie przyjmuje się
ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy
zgłaszać na adres listy dyskusyjnej
[email protected]