forked from Imagelibrary/rtems
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>
|
||||
|
||||
* porting.texi: Set @setfilename porting.info.
|
||||
|
||||
@@ -365,17 +365,15 @@ if ( _ISR_Nest_level )
|
||||
restore stack
|
||||
#endif
|
||||
|
||||
if ( !_Context_Switch_necessary )
|
||||
if ( _Thread_Dispatch_disable_level )
|
||||
_ISR_Signals_to_thread_executing = FALSE;
|
||||
goto the label "exit interrupt (simple case)"
|
||||
|
||||
if ( !_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
|
||||
prepare to get out of interrupt
|
||||
return from interrupt (maybe to _ISR_Dispatch)
|
||||
if ( _Context_Switch_necessary || _ISR_Signals_to_thread_executing )
|
||||
_ISR_Signals_to_thread_executing = FALSE;
|
||||
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):
|
||||
prepare to get out of interrupt
|
||||
|
||||
Reference in New Issue
Block a user