Namespaces
Variants

at_quick_exit

From cppreference.net
Definido en el encabezado <stdlib.h>
int at_quick_exit ( void ( * func ) ( void ) ) ;
(desde C11)

Registra la función apuntada por func para ser llamada en la terminación rápida del programa (mediante quick_exit ).

Llamar a la función desde varios hilos no induce una condición de carrera. La implementación garantiza soportar el registro de al menos 32 funciones. El límite exacto está definido por la implementación.

Las funciones registradas no serán llamadas en terminación normal del programa . Si una función necesita ser llamada en ese caso, atexit debe ser usado.

Contenidos

Parámetros

func - puntero a una función que será llamada en la terminación rápida del programa

Valor de retorno

0 si el registro tiene éxito, valor distinto de cero en caso contrario.

Ejemplo

#include <stdlib.h>
#include <stdio.h>
void f1(void)
{
    puts("pushed first");
    fflush(stdout);
}
void f2(void)
{
    puts("pushed second");
}
int main(void)
{
    at_quick_exit(f1);
    at_quick_exit(f2);
    quick_exit(0);
}

Salida:

pushed second
pushed first

Referencias

  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.22.4.3 La función at_quick_exit (p: 255)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.22.4.3 La función at_quick_exit (p: 351)

Véase también

provoca la terminación anormal del programa (sin limpieza)
(función)
provoca la terminación normal del programa con limpieza
(función)
registra una función para ser llamada durante la invocación de exit()
(función)
provoca la terminación normal del programa sin limpieza completa
(función)
Documentación de C++ para at_quick_exit