mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-06 15:43:15 +00:00
2003-02-11 Joel Sherrill <joel@OARcorp.com>
* interrupts.t: Rework logic that decides when to call _Thread_Dispatch. Analysis by Sergei Organov <osv@javad.ru> determined that _ISR_Signals_to_thread_executing was not being honored and/or cleared properly.
This commit is contained in:
@@ -1,3 +1,10 @@
|
|||||||
|
2003-02-11 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
|
* interrupts.t: Rework logic that decides when to call
|
||||||
|
_Thread_Dispatch. Analysis by Sergei Organov <osv@javad.ru>
|
||||||
|
determined that _ISR_Signals_to_thread_executing was not being
|
||||||
|
honored and/or cleared properly.
|
||||||
|
|
||||||
2003-01-25 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
2003-01-25 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||||
|
|
||||||
* porting.texi: Set @setfilename porting.info.
|
* porting.texi: Set @setfilename porting.info.
|
||||||
|
|||||||
@@ -365,17 +365,15 @@ if ( _ISR_Nest_level )
|
|||||||
restore stack
|
restore stack
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ( !_Context_Switch_necessary )
|
if ( _Thread_Dispatch_disable_level )
|
||||||
|
_ISR_Signals_to_thread_executing = FALSE;
|
||||||
goto the label "exit interrupt (simple case)"
|
goto the label "exit interrupt (simple case)"
|
||||||
|
|
||||||
if ( !_ISR_Signals_to_thread_executing )
|
if ( _Context_Switch_necessary || _ISR_Signals_to_thread_executing )
|
||||||
goto the label "exit interrupt (simple case)"
|
_ISR_Signals_to_thread_executing = FALSE;
|
||||||
|
call _Thread_Dispatch() or prepare to return to _ISR_Dispatch
|
||||||
_ISR_Signals_to_thread_executing = FALSE;
|
prepare to get out of interrupt
|
||||||
|
return from interrupt (maybe to _ISR_Dispatch)
|
||||||
call _Thread_Dispatch() or prepare to return to _ISR_Dispatch
|
|
||||||
prepare to get out of interrupt
|
|
||||||
return from interrupt (maybe to _ISR_Dispatch)
|
|
||||||
|
|
||||||
LABEL "exit interrupt (simple case):
|
LABEL "exit interrupt (simple case):
|
||||||
prepare to get out of interrupt
|
prepare to get out of interrupt
|
||||||
|
|||||||
Reference in New Issue
Block a user