forked from Imagelibrary/rtems
2001-09-27 Eric Norum <eric.norum@usask.ca>
* src/threadhandler.c: Now process C++ global constructors (_init) as part of the first task execution not in BSP space. This depends on the toolset defining USE_INIT_FINI so you have to have the right toolset version.
This commit is contained in:
@@ -1,4 +1,18 @@
|
||||
|
||||
2001-09-27 Eric Norum <eric.norum@usask.ca>
|
||||
|
||||
* src/threadhandler.c: Now process C++ global constructors
|
||||
(_init) as part of the first task execution not in BSP space.
|
||||
This depends on the toolset defining USE_INIT_FINI so you
|
||||
have to have the right toolset version.
|
||||
|
||||
2001-09-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* include/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
|
||||
* include/rtems/Makefile.am: Use 'PREINSTALL_FILES ='.
|
||||
* inline/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
|
||||
* macros/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
|
||||
|
||||
2001-08-30 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* src/coremutex.c, src/coremutexseize.c, src/coremutexsurrender.c,
|
||||
|
||||
@@ -58,6 +58,10 @@ void _Thread_Handler( void )
|
||||
{
|
||||
ISR_Level level;
|
||||
Thread_Control *executing;
|
||||
#ifdef USE_INIT_FINI
|
||||
static char doneConstructors;
|
||||
char doneCons;
|
||||
#endif
|
||||
|
||||
executing = _Thread_Executing;
|
||||
|
||||
@@ -69,6 +73,11 @@ void _Thread_Handler( void )
|
||||
level = executing->Start.isr_level;
|
||||
_ISR_Set_level(level);
|
||||
|
||||
#ifdef USE_INIT_FINI
|
||||
doneCons = doneConstructors;
|
||||
doneConstructors = 1;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Take care that 'begin' extensions get to complete before
|
||||
* 'switch' extensions can run. This means must keep dispatch
|
||||
@@ -82,6 +91,10 @@ void _Thread_Handler( void )
|
||||
*/
|
||||
|
||||
_Thread_Enable_dispatch();
|
||||
#ifdef USE_INIT_FINI
|
||||
if (!doneCons)
|
||||
_init ();
|
||||
#endif
|
||||
|
||||
switch ( executing->Start.prototype ) {
|
||||
case THREAD_START_NUMERIC:
|
||||
|
||||
@@ -1,4 +1,18 @@
|
||||
|
||||
2001-09-27 Eric Norum <eric.norum@usask.ca>
|
||||
|
||||
* src/threadhandler.c: Now process C++ global constructors
|
||||
(_init) as part of the first task execution not in BSP space.
|
||||
This depends on the toolset defining USE_INIT_FINI so you
|
||||
have to have the right toolset version.
|
||||
|
||||
2001-09-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* include/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
|
||||
* include/rtems/Makefile.am: Use 'PREINSTALL_FILES ='.
|
||||
* inline/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
|
||||
* macros/rtems/score/Makefile.am: Use 'PREINSTALL_FILES ='.
|
||||
|
||||
2001-08-30 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* src/coremutex.c, src/coremutexseize.c, src/coremutexsurrender.c,
|
||||
|
||||
@@ -58,6 +58,10 @@ void _Thread_Handler( void )
|
||||
{
|
||||
ISR_Level level;
|
||||
Thread_Control *executing;
|
||||
#ifdef USE_INIT_FINI
|
||||
static char doneConstructors;
|
||||
char doneCons;
|
||||
#endif
|
||||
|
||||
executing = _Thread_Executing;
|
||||
|
||||
@@ -69,6 +73,11 @@ void _Thread_Handler( void )
|
||||
level = executing->Start.isr_level;
|
||||
_ISR_Set_level(level);
|
||||
|
||||
#ifdef USE_INIT_FINI
|
||||
doneCons = doneConstructors;
|
||||
doneConstructors = 1;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Take care that 'begin' extensions get to complete before
|
||||
* 'switch' extensions can run. This means must keep dispatch
|
||||
@@ -82,6 +91,10 @@ void _Thread_Handler( void )
|
||||
*/
|
||||
|
||||
_Thread_Enable_dispatch();
|
||||
#ifdef USE_INIT_FINI
|
||||
if (!doneCons)
|
||||
_init ();
|
||||
#endif
|
||||
|
||||
switch ( executing->Start.prototype ) {
|
||||
case THREAD_START_NUMERIC:
|
||||
|
||||
Reference in New Issue
Block a user