diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-10-14 23:00:24 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-10-14 23:00:24 -0400 |
commit | f753049a50132a23849ef89a8af5ff86ad595c25 (patch) | |
tree | 5dbc29f298f9907948da2f9451947ebbb7b3e453 /src/exit/exit.c | |
parent | 8e8ddeff7eee6294e24c0a9a29053164f990f1b3 (diff) | |
download | musl-f753049a50132a23849ef89a8af5ff86ad595c25.tar.gz musl-f753049a50132a23849ef89a8af5ff86ad595c25.tar.bz2 musl-f753049a50132a23849ef89a8af5ff86ad595c25.tar.xz musl-f753049a50132a23849ef89a8af5ff86ad595c25.zip |
simplify atexit and fflush-on-exit handling
Diffstat (limited to 'src/exit/exit.c')
-rw-r--r-- | src/exit/exit.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/exit/exit.c b/src/exit/exit.c index bfdb3923..1ff19dbe 100644 --- a/src/exit/exit.c +++ b/src/exit/exit.c @@ -3,8 +3,11 @@ #include <stdio.h> #include "libc.h" -/* __overflow.c and atexit.c override these */ -static int (*const dummy)() = 0; +static void dummy() +{ +} + +/* __towrite.c and atexit.c override these */ weak_alias(dummy, __funcs_on_exit); weak_alias(dummy, __fflush_on_exit); @@ -16,8 +19,8 @@ void exit(int code) LOCK(&lock); /* Only do atexit & stdio flush if they were actually used */ - if (__funcs_on_exit) __funcs_on_exit(); - if (__fflush_on_exit) __fflush_on_exit((void *)0); + __funcs_on_exit(); + __fflush_on_exit(); /* Destructor s**t is kept separate from atexit to avoid bloat */ if (libc.fini) libc.fini(); |