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