mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-16 11:31:00 +08:00
0c8593cf11
* libc/include/sys/reent.h (struct _on_exit_args): Add _dso_handle and _is_cxa. (struct _atexit): Add _next when _REENT_SMALL. (struct _reent): Add _atexit0 when _REENT_SMALL. (_REENT_INIT_PTR): Adjust. * libc/stdlib/Makefile.am (GENERAL_SOURCES): Add __atexit.c and __call_exit.c. (EXTENDED_SOURCES): Add cxa_atexit.c and cxa_finalize.c. * libc/stdlib/Makefile.in: Regenerate. * libc/stdlib/__atexit.c: New file. * libc/stdlib/__call_atexit.c: New file. * libc/stdlib/atexit.h: Remove old definitions. Add new. * libc/stdlib/atexit.c (atexit): Use __register_exitproc. * libc/stdlib/cxa_atexit.c: New file. * libc/stdlib/cxa_finalize.c: New file. * libc/stdlib/exit.c (exit): Use __call_exitprocs. * libc/stdlib/on_exit.c (on_exit): Use __register_exitproc. 2004-09-09 Jeff Johnston <jjohnstn@redhat.com> * libc/reent/reent.c [_REENT_SMALL]: Fix reference to _on_exit_args_ptr.
21 lines
326 B
C
21 lines
326 B
C
/*
|
|
* Implementation if __cxa_finalize.
|
|
*/
|
|
|
|
|
|
#include <stdlib.h>
|
|
#include <reent.h>
|
|
#include "atexit.h"
|
|
|
|
/*
|
|
* Call registered exit handlers. If D is null then all handlers are called,
|
|
* otherwise only the handlers from that DSO are called.
|
|
*/
|
|
|
|
void
|
|
_DEFUN (__cxa_finalize, (d),
|
|
void * d)
|
|
{
|
|
__call_exitprocs (0, d);
|
|
}
|