summaryrefslogtreecommitdiffstats
path: root/libc/stdlib
diff options
context:
space:
mode:
Diffstat (limited to 'libc/stdlib')
-rw-r--r--libc/stdlib/atexit.c13
-rw-r--r--libc/stdlib/atexit.h13
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 *);