abort
Table des matières
Retour à l'index
NOM
abort - Terminer de manière anormale un programme
BIBLIOTHÈQUE
Bibliothèque C standard (libc, -lc)
SYNOPSIS
#include <stdlib.h>
[[noreturn]] void abort(void);
DESCRIPTION
La fonction abort() déverrouille le signal SIGABRT, puis émet celui-ci
pour le processus appelant (comme si raise(3) était appelé). Cela se
traduit par la terminaison anormale du processus sauf si le signal
SIGABRT est intercepté et si son gestionnaire de signal ne rend pas la
main (consultez longjmp(3)).
Si le signal SIGABRT est ignoré ou intercepté par un gestionnaire de
signaux qui renvoie, abort() terminera quand-même le processus. Il
effectue cela en restaurant la disposition par défaut de SIGABRT et en
émettant le signal une seconde fois.
Comme dans les autres cas de terminaison anormale, les fonctions
enregistrées avec atexit(3) et on_exit(3) ne sont pas appelées.
VALEUR RENVOYÉE
La fonction abort() ne renvoie aucune valeur.
ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
| Interface | Attribut | Valeur
|
|
abort()
| Sécurité des threads | MT-Safe
|
STANDARDS
C11, POSIX.1-2008.
HISTORIQUE
SVr4, POSIX.1-2001, 4.3BSD, C89.
Jusqu'à la glibc 2.26, si la fonction abort() entraîne une terminaison du
processus, alors tous les flux sont fermés et déchargés (comme le ferait
fclose(3)). Cependant, cela pourrait résulter dans certains cas à des
situations de blocage (deadlocks) et à une corruption de données. Par
conséquent, à partir de la glibc 2.27, abort() termine le processus sans
décharger les flux. POSIX.1 permet les deux comportements et stipule que
abort() « peut comporter une tentative d'appel à fclose() sur tous les
flux ouverts ».
VOIR AUSSI
gdb(1), sigaction(2), assert(3), exit(3), longjmp(3),
raise(3)
TRADUCTION
La traduction française de cette page de manuel a été créée par
Christophe Blaess <https://www.blaess.fr/christophe/>,
Stéphan Rafin <stephan.rafin@laposte.net>,
Thierry Vignaud <tvignaud@mandriva.com>,
François Micaux,
Alain Portal <aportal@univ-montp2.fr>,
Jean-Philippe Guérard <fevrier@tigreraye.org>,
Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>,
Julien Cristau <jcristau@debian.org>,
Thomas Huriaux <thomas.huriaux@gmail.com>,
Nicolas François <nicolas.francois@centraliens.net>,
Florentin Duneau <fduneau@gmail.com>,
Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,
Denis Barbier <barbier@debian.org>,
David Prévot <david@tilapin.org>
et
Grégoire Scano <gregoire.scano@malloc.fr>
Cette traduction est une documentation libre ; veuillez vous reporter à la
GNU General Public License version 3
concernant les conditions de copie et
de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
Index
- NOM
-
- BIBLIOTHÈQUE
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- ATTRIBUTS
-
- STANDARDS
-
- HISTORIQUE
-
- VOIR AUSSI
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 05:06:08 GMT, September 19, 2025