From ffd5ef60722c8a7295731cb6f7f54126fd07da3e Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Sun, 20 Mar 2005 17:45:03 +0000 Subject: Prepare for moving ldso FINI handling into libc. #define _DL_DO_FINI_IN_LIBC to enable(the arch specific part needs to be in place first). --- libc/stdlib/atexit.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'libc/stdlib') diff --git a/libc/stdlib/atexit.c b/libc/stdlib/atexit.c index 082e532fd..d5f83ee8e 100644 --- a/libc/stdlib/atexit.c +++ b/libc/stdlib/atexit.c @@ -222,6 +222,7 @@ pthread_mutex_t mylock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; extern void (*__app_fini)(void); #endif +extern void (*__rtld_fini)(void); /* * Normal program termination */ @@ -238,6 +239,11 @@ void exit(int rv) if (__app_fini != NULL) (__app_fini)(); #endif +#ifdef _DL_DO_FINI_IN_LIBC +/* arches that has moved their ldso FINI handling should #define _DL_DO_FINI_IN_LIBC */ + if (__rtld_fini != NULL) + (__rtld_fini)(); +#endif /* If we are using stdio, try to shut it down. At the very least, * this will attempt to commit all buffered writes. It may also -- cgit v1.2.3