20#include "pedigree/kernel/utilities/List.h"
22#include "modules/Module.h"
28typedef void (*__cxa_atexit_func_type)(
void*);
31 __cxa_atexit_func_type func;
39void __cxa_atexit(
void (*f)(
void*),
void* arg,
void* dso_handle);
40void __cxa_atexit(
void (*f)(
void*),
void* arg,
void* dso_handle) {
41 if (!g_AtExitEntries) {
49 g_AtExitEntries->pushBack(rec);
55void __perform_module_exit() {
59 for (
auto it = g_AtExitEntries->begin(); it != g_AtExitEntries->end(); ++it) {
60 (*it).func((*it).arg);
63 delete g_AtExitEntries;