Scroll to navigation

ABORT(3) Manuel du programmeur Linux ABORT(3)

NOM

abort - Terminer de manière anormale un programme

SYNOPSIS

#include <stdlib.h>
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 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 retourne, abort() terminera de toute façon le processus. Il effectue cela en restaurant la disposition par défaut de SIGABRT et en émettant le signal une seconde fois.

VALEUR RENVOYÉE

La fonction abort() ne renvoie jamais.

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface Attribut Valeur
abort() Sécurité des threads MT-Safe

NOTES

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

CONFORMITÉ

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

VOIR AUSSI

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

COLOPHON

Cette page fait partie de la publication 5.04 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

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> et David Prévot <david@tilapin.org>

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.

26 novembre 2017 GNU