diff options
Diffstat (limited to 'libc/stdlib')
-rw-r--r-- | libc/stdlib/atexit.c | 13 | ||||
-rw-r--r-- | libc/stdlib/atexit.h | 13 |
2 files changed, 12 insertions, 14 deletions
diff --git a/libc/stdlib/atexit.c b/libc/stdlib/atexit.c index df2b1b5..a6970dd 100644 --- a/libc/stdlib/atexit.c +++ b/libc/stdlib/atexit.c @@ -37,7 +37,18 @@ #include "atexit.h" #include "private/thread_private.h" -struct atexit *__atexit; +struct atexit { + struct atexit *next; /* next in list */ + int ind; /* next index in this table */ + int max; /* max entries >= ATEXIT_SIZE */ + struct atexit_fn { + void (*fn_ptr)(void *); + void *fn_arg; /* argument for CXA callback */ + void *fn_dso; /* shared module handle */ + } fns[1]; /* the table itself */ +}; + +static struct atexit *__atexit; static int restartloop; /* BEGIN android-changed: __unregister_atfork is used by __cxa_finalize */ diff --git a/libc/stdlib/atexit.h b/libc/stdlib/atexit.h index 3de2aa3..e01bb34 100644 --- a/libc/stdlib/atexit.h +++ b/libc/stdlib/atexit.h @@ -30,18 +30,5 @@ * */ -struct atexit { - struct atexit *next; /* next in list */ - int ind; /* next index in this table */ - int max; /* max entries >= ATEXIT_SIZE */ - struct atexit_fn { - void (*fn_ptr)(void *); - void *fn_arg; /* argument for CXA callback */ - void *fn_dso; /* shared module handle */ - } fns[1]; /* the table itself */ -}; - -extern struct atexit *__atexit; /* points to head of LIFO stack */ - int __cxa_atexit(void (*)(void *), void *, void *); void __cxa_finalize(void *); |