xref: /plan9-contrib/sys/src/ape/lib/ap/stdio/exit.c (revision 781103c4074deb8af160e8a0da2742ba6b29dc2b)
1 #include <unistd.h>
2 #define	NONEXIT	34
3 void (*_atexitfns[NONEXIT])(void);
4 void _doatexits(void){
5 	int i;
6 	void (*f)(void);
7 	for(i = NONEXIT-1; i >= 0; i--)
8 		if(_atexitfns[i]){
9 			f = _atexitfns[i];
10 			_atexitfns[i] = 0;	/* self defense against bozos */
11 			(*f)();
12 		}
13 }
14 void exit(int status)
15 {
16 	_doatexits();
17 	_exit(status);
18 }
19