Changeset 4b833782 in rtems for cpukit/score/cpu/c4x/irq.c


Ignore:
Timestamp:
Feb 11, 2003, 11:43:11 PM (18 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
3ab90627
Parents:
92e57ea2
Message:

2003-02-11 Joel Sherrill <joel@…>

  • irq.c: Rework logic that decides when to call _Thread_Dispatch. Analysis by Sergei Organov <osv@…> determined that _ISR_Signals_to_thread_executing was not being honored and/or cleared properly.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpukit/score/cpu/c4x/irq.c

    r92e57ea2 r4b833782  
    7474
    7575  _CPU_ISR_Enable( level );
    76   if ( _Thread_Dispatch_disable_level == 0 ) {
    77     if ( _Context_Switch_necessary || !_ISR_Signals_to_thread_executing ) {
    78        _ISR_Signals_to_thread_executing = FALSE;
    79        _Thread_Dispatch();
    80     }
     76
     77  if ( _ISR_Nest_level )
     78    return;
     79
     80  if ( _Thread_Dispatch_disable_level ) {
     81    _ISR_Signals_to_thread_executing = FALSE;
     82    return;
     83  }
     84
     85  if ( _Context_Switch_necessary || _ISR_Signals_to_thread_executing ) {
     86    _ISR_Signals_to_thread_executing = FALSE;
     87    _Thread_Dispatch();
    8188  }
    8289}
Note: See TracChangeset for help on using the changeset viewer.