Scroll to navigation

abort(3) Library Functions Manual abort(3)

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 à debian-l10n-french@lists.debian.org.

2 mai 2024 Pages du manuel de Linux 6.8