#include <stdlib.h> int atexit(void (*fonction)(void));
POSIX.1-2001 réclame qu'une implémentation permette d'enregistrer au moins ATEXIT_MAX (32) de ces fonctions. La limite actuelle de l'implémentation peut être obtenue avec sysconf(3).
Lorsqu'un processus fils est créé avec fork(2), il hérite d'une copie des enregistrements de son père. À la suite d'un appel réussi à l'une de ces fonctions, tous les enregistrements sont supprimés.
#include <stdio.h> #include <stdlib.h> #include <unistd.h> void bye(void) { printf("That was all, folks\n"); } int main(void) { long a; int i; a = sysconf(_SC_ATEXIT_MAX); printf("ATEXIT_MAX = %ld\n", a); i = atexit(bye); if (i != 0) { fprintf(stderr, "cannot set exit function\n"); exit(EXIT_FAILURE); } exit(EXIT_SUCCESS); }
Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 22 octobre 1996 et révisée le 17 juillet 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 atexit ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Dernière mise à jour : 17 juillet 2008