xref: /plan9/sys/src/ape/lib/ap/stdio/exit.c (revision aa0880a249a462b3c210e7784164207d3a3f7b5b)
1 #include <unistd.h>
2 #define	NONEXIT	34
3 void (*_atexitfns[NONEXIT])(void);
_doatexits(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 }
exit(int status)14 void exit(int status)
15 {
16 	_doatexits();
17 	_exit(status);
18 }
19