source: trunk/minix/lib/ansi/exit.c@ 12

Last change on this file since 12 was 9, checked in by Mattia Monga, 14 years ago

Minix 3.1.2a

File size: 700 bytes
Line 
1/*
2 * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
3 * See the copyright notice in the ACK home directory, in the file "Copyright".
4 */
5/* $Header: /cvsup/minix/src/lib/ansi/exit.c,v 1.1.1.1 2005/04/21 14:56:04 beng Exp $ */
6
7#include <stdio.h>
8#include <stdlib.h>
9
10#define NEXITS 32
11
12void (*__functab[NEXITS])(void);
13int __funccnt = 0;
14
15extern void _exit(int);
16
17/* only flush output buffers when necessary */
18int (*_clean)(void) = NULL;
19
20static void
21_calls(void)
22{
23 register int i = __funccnt;
24
25 /* "Called in reversed order of their registration" */
26 while (--i >= 0)
27 (*__functab[i])();
28}
29
30void
31exit(int status)
32{
33 _calls();
34 if (_clean) _clean();
35 _exit(status) ;
36}
Note: See TracBrowser for help on using the repository browser.