abort(3) Library Functions Manual abort(3) NAZWA abort - awaryjnie konczy proces BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include [[noreturn]] void abort(void); OPIS Funkcja abort() najpierw odblokowuje sygnal SIGABRT, a nastepnie wysyla ten sygnal do procesu wywolujacego (jakby wywolano raise(3). Skutkuje to nienormalnym zakonczeniem procesu, chyba ze sygnal SIGABRT zostal przechwycony i funkcja obslugi tego sygnalu nie powraca (patrz longjmp(3)). Jesli sygnal SIGABRT jest ignorowany lub przechwytywany przez funkcje obslugi, ktora powraca, to funkcja abort() zakonczy proces. Aby to zrobic, przywroci domyslna procedure obslugi SIGABRT i ponownie wysle ten sygnal. Jak w przypadku innych sytuacji niepoprawnego przerwania, funkcje zarejestrowane za pomoca atexit(3) i on_exit(3) nie sa wywolywane. WARTOSC ZWRACANA Funkcja abort() jest funkcja bez powrotu. ATRYBUTY Informacje o pojeciach uzywanych w tym rozdziale mozna znalezc w podreczniku attributes(7). +---------------------------+--------------------------+---------------+ |Interfejs | Atrybut | Wartosc | +---------------------------+--------------------------+---------------+ |abort() | Bezpieczenstwo watkowe | MT-bezpieczne | +---------------------------+--------------------------+---------------+ STANDARDY C11, POSIX.1-2008. HISTORIA SVr4, POSIX.1-2001, 4.3BSD, C89. Do glibc 2.26, jesli funkcja abort() spowodowala przerwanie procesu, wszystkie otwarte strumienie byly zamykane i oprozniane (jak przy fclose(3)). Jednak w niektorych sytuacjach moglo to prowadzic do wzajemnej blokady i utraty danych. Z tego powodu, od glibc 2.27, abort() przerywa procesy bez wyprozniania strumieni. POSIX.1 zezwala na oba te zachowania okreslajac, ze abort() ,,moze probowac zachowac sie jak fclose() na wszystkich otwartych strumieniach". ZOBACZ TAKZE gdb(1), sigaction(2), assert(3), exit(3), longjmp(3), raise(3) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Adam Byrtek , Andrzej Krzysztofowicz , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.8 2 maja 2024 r. abort(3)