Files
photon/libc/stdlib/atexit.c

22 lines
346 B
C

#define MAX_FN 32
static void(*atexit_fn[MAX_FN])(void);
static int atexit_fn_count = 0;
int atexit(void(*fn)(void))
{
if (atexit_fn_count == MAX_FN) {
return -1;
}
atexit_fn[atexit_fn_count++] = fn;
return 0;
}
void __crt_run_atexit()
{
for (int i = 0; i < atexit_fn_count; i++) {
atexit_fn[i]();
}
}