oracular (3) abort.3.gz

Provided by: manpages-pl-dev_4.23.1-1_all bug

NAZWA

       abort - awaryjnie kończy proces

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

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ł.

       Jak  w  przypadku  innych sytuacji niepoprawnego przerwania, funkcje zarejestrowane za pomocą atexit(3) i
       on_exit(3) nie są wywoływane.

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).

       ┌───────────────────────────────────────────────────────────────┬────────────────────────┬───────────────┐
       │InterfejsAtrybutWartość       │
       ├───────────────────────────────────────────────────────────────┼────────────────────────┼───────────────┤
       │abort()                                                        │ Bezpieczeństwo wątkowe │ MT-bezpieczne │
       └───────────────────────────────────────────────────────────────┴────────────────────────┴───────────────┘

STANDARDY

       C11, POSIX.1-2008.

HISTORIA

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

       Do glibc 2.26, jeśli funkcja abort() spowodowała przerwanie procesu, wszystkie  otwarte  strumienie  były
       zamykane  i  opróżniane  (jak  przy  fclose(3)).  Jednak  w  niektórych  sytuacjach mogło to prowadzić do
       wzajemnej blokady i  utraty  danych.  Z  tego  powodu,  od  glibc  2.27,  abort()  przerywa  procesy  bez
       wypróżniania  strumieni.  POSIX.1  zezwala  na  oba  te  zachowania określając, że abort() „może próbować
       zachować się jak fclose() na wszystkich otwartych strumieniach”.

ZOBACZ TAKŻE

       gdb(1), sigaction(2), assert(3), exit(3), longjmp(3), raise(3)

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⟩.