diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1995-09-19 14:53:29 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1995-09-19 14:53:29 +0000 |
commit | 3652ad356bf13abe0963c992cbbda96476d31609 (patch) | |
tree | 8ae01f1eec49c8fabc0a3db3d5b58b29a61428f2 /cpukit/rtems/src/tasks.c | |
parent | Initial attempt at building HP PA-RISC using Solaris hosted tools. (diff) | |
download | rtems-3652ad356bf13abe0963c992cbbda96476d31609.tar.bz2 |
Minor bug fixes to get all targets compilable and running. The
single biggest changes were the expansion of the workspace size
macro to include other types of objects and the increase in the
minimum stack size for most CPUs.
Diffstat (limited to 'cpukit/rtems/src/tasks.c')
-rw-r--r-- | cpukit/rtems/src/tasks.c | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/cpukit/rtems/src/tasks.c b/cpukit/rtems/src/tasks.c index 70ec7d6928..8906805164 100644 --- a/cpukit/rtems/src/tasks.c +++ b/cpukit/rtems/src/tasks.c @@ -114,26 +114,21 @@ User_extensions_routine _RTEMS_tasks_Switch_extension( asr = &api->Signal; _ISR_Disable( level ); - - signal_set = asr->signals_posted; - - if ( signal_set ) { - /* if ( _ASR_Are_signals_pending( asr ) ) { - - signal_set = asr->signals_posted; */ + signal_set = asr->signals_posted; asr->signals_posted = 0; - _ISR_Enable( level ); + _ISR_Enable( level ); - asr->nest_level += 1; - rtems_task_mode( asr->mode_set, RTEMS_ALL_MODE_MASKS, &prev_mode ); - (*asr->handler)( signal_set ); + if ( !signal_set ) /* similar to _ASR_Are_signals_pending( asr ) */ + return; - asr->nest_level -= 1; - rtems_task_mode( prev_mode, RTEMS_ALL_MODE_MASKS, &prev_mode ); - } - else - _ISR_Enable( level ); + asr->nest_level += 1; + rtems_task_mode( asr->mode_set, RTEMS_ALL_MODE_MASKS, &prev_mode ); + + (*asr->handler)( signal_set ); + + asr->nest_level -= 1; + rtems_task_mode( prev_mode, RTEMS_ALL_MODE_MASKS, &prev_mode ); } |