at_quick_exit
|
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) |
|
|
(C11)
|
provoca la terminación normal del programa sin limpieza completa
(función) |
|
Documentación de C++
para
at_quick_exit
|
|