Files
rtems/cpukit/sapi/src/exshutdown.c
Till Straumann 42fce5d39b 2008-01-03 Till Straumann <strauman@slac.stanford.edu>
* score/src/threadhandler.c, sapi/src/exshutdown.c:
	cannot call _fini via atexit() from rtems_shutdown_executive()
	because at the point where rtems_shutdown_executive is called
	the C-library is already dead.
	Instead, register an atexit(_fini) after calling _init().
2008-01-04 06:38:06 +00:00

43 lines
945 B
C

/*
* Initialization Manager
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <rtems/system.h>
#include <rtems/score/sysstate.h>
#include <rtems/score/thread.h>
/*
* rtems_shutdown_executive
*
* This kernel routine shutdowns the executive. It halts multitasking
* and returns control to the application execution "thread" which
* initialially invoked the rtems_initialize_executive directive.
*
* Input parameters: NONE
*
* Output parameters: NONE
*/
void rtems_shutdown_executive(
uint32_t result
)
{
if ( _System_state_Current != SYSTEM_STATE_SHUTDOWN ) {
_System_state_Set( SYSTEM_STATE_SHUTDOWN );
_Thread_Stop_multitasking();
}
}