text: /*
   * This file is part of the UCB release of Plan 9. It is subject to the license
   * terms in the LICENSE file found in the top-level directory of this
   * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
   * part of the UCB release of Plan 9, including this file, may be copied,
   * modified, propagated, or distributed except according to the terms contained
   * in the LICENSE file.
   */
  
  #include <unistd.h>
  #define	NONEXIT	34
  
  int (*_atexitfns[NONEXIT])(void);
  
  void _doatexits(void){
  	int i;
  	int (*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);
  }
  