diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2002-05-15 22:58:10 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2002-05-15 22:58:10 +0000 |
commit | dc824ef7363e46b3602b458f7bf00303601c1102 (patch) | |
tree | e323a2db83cf227cf6ddd465d8657d9339d15369 /newlib/libc/include/stdlib.h | |
parent | e355de817c95c1b5b3fa98c0e5e2863a1ecb7679 (diff) | |
download | newlib-dc824ef7363e46b3602b458f7bf00303601c1102.zip newlib-dc824ef7363e46b3602b458f7bf00303601c1102.tar.gz newlib-dc824ef7363e46b3602b458f7bf00303601c1102.tar.bz2 |
2002-05-15 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h: Add on_exit prototype.
* libc/include/sys/reent.h (struct _atexit): Add argument array
and bits to track type of exit routine to support both on_exit
and atexit.
(_REENT_INIT_PTR): Add missing fields that won't be zeroed out
by default and change the setting of the atexit structure.
(_REENT_INIT)[!_REENT_SMALL]: Remove extraneous end brace.
* libc/stdlib/on_exit.c: New file.
* libc/stdlib/Makefile.am: Add support for on_exit.
* libc/stdlib/Makefile.in: Regenerated.
* libc/stdlib/atexit.c: Change to initialize types field.
* libc/stdlib/exit.c: Change to look at types field for each
exit routine and either call an atexit-style or an on_exit-style
routine accordingly.
Diffstat (limited to 'newlib/libc/include/stdlib.h')
-rw-r--r-- | newlib/libc/include/stdlib.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/newlib/libc/include/stdlib.h b/newlib/libc/include/stdlib.h index 3889067..ca7c2a7 100644 --- a/newlib/libc/include/stdlib.h +++ b/newlib/libc/include/stdlib.h @@ -108,6 +108,7 @@ int _EXFUN(system,(const char *__string)); long _EXFUN(a64l,(const char *__input)); char * _EXFUN(l64a,(long __input)); char * _EXFUN(_l64a_r,(struct _reent *,long __input)); +int _EXFUN(on_exit,(_VOID (*__func)(int, _PTR),_PTR __arg)); int _EXFUN(putenv,(const char *__string)); int _EXFUN(_putenv_r,(struct _reent *, const char *__string)); int _EXFUN(setenv,(const char *__string, const char *__value, int __overwrite)); |