abort(3)

NUME
abort - cauzează terminarea anormală a procesului

BIBLIOTECA
Biblioteca C standard (libc, -lc)

REZUMAT
#include <stdlib.h>

[[noreturn]] void abort(void);

DESCRIERE
Funcția abort() deblochează mai întâi semnalul SIGABRT și apoi lansează acest semnal pentru procesul apelant (ca și cum ar fi fost apelat raise(3)). Acest lucru are ca rezultat terminarea anormală a procesului, cu excepția cazului în care semnalul SIGABRT este prins și gestionarul de semnal nu se întoarce (a se vedea longjmp(3)).

În cazul în care semnalul SIGABRT este ignorat sau este prins de un gestionar care se întoarce, funcția abort() va încheia în continuare procesul. Aceasta face acest lucru prin restabilirea dispoziției implicite pentru SIGABRT și apoi prin lansarea semnalului pentru a doua oară.

Ca și în alte cazuri de terminare anormală, funcțiile înregistrate cu atexit(3) și on_exit(3) nu sunt apelate.

VALOAREA RETURNATĂ
Funcția abort() nu returnează niciodată.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
abort() | Siguranța firelor | MT-Safe

STANDARDE
C11, POSIX.1-2008.

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

Până la glibc 2.26, în cazul în care funcția abort() provoca terminarea procesului, toate fluxurile deschise erau închise și eliminate (ca în cazul fclose(3)). Cu toate acestea, în unele cazuri, acest lucru putea duce la blocaje și la coruperea datelor. Prin urmare, începând cu glibc 2.27, abort() termină procesul fără a închide fluxurile. POSIX.1 permite ambele comportamente posibile, spunând că abort() „poate include o încercare de a efectua fclose() pe toate fluxurile deschise”.

CONSULTAȚI ȘI
gdb(1), sigaction(2), assert(3), exit(3), longjmp(3), raise(3)

TRADUCERE
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.