From fd04aacee17b348da206c13a550dc1029669805f Mon Sep 17 00:00:00 2001 From: rsc Date: Sun, 23 Nov 2003 18:12:54 +0000 Subject: Various additions and fixes. --- src/lib9/atexit.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/lib9/atexit.c (limited to 'src/lib9/atexit.c') diff --git a/src/lib9/atexit.c b/src/lib9/atexit.c new file mode 100644 index 00000000..b1d8b977 --- /dev/null +++ b/src/lib9/atexit.c @@ -0,0 +1,54 @@ +#include +#include + +#define NEXIT 33 + +static Lock onexlock; +static struct +{ + void (*f)(void); + int pid; +}onex[NEXIT]; + +int +atexit(void (*f)(void)) +{ + int i; + + lock(&onexlock); + for(i=0; i= 0; i--) + if((f = onex[i].f) && pid == onex[i].pid) { + onex[i].f = 0; + (*f)(); + } + _exits(s); +} -- cgit v1.2.3