Changeset 935e28c in mainline for kernel/generic/src/preempt/preemption.c
- Timestamp:
- 2012-07-12T15:58:46Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2e16033
- Parents:
- 1066041
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/preempt/preemption.c
r1066041 r935e28c 40 40 41 41 42 /** Determines if we are executing an exception/interrupt handler. */ 43 static bool in_exc_handler(void) 44 { 45 /* Err on the safe side until all exception processing code is audited. */ 46 return true; 47 } 48 42 49 /** Preemption was enabled. Calls scheduler(). */ 43 50 void preemption_enabled_scheduler(void) … … 54 61 * to suppress preemption continues to work. 55 62 */ 56 if (!interrupts_disabled()) { 63 if (!interrupts_disabled() && !in_exc_handler()) { 64 preemption_clear_needed(); 65 /* We may be preempted here, so we'll scheduler() again. Too bad. */ 57 66 scheduler(); 58 } 67 } 59 68 } 60 69
Note:
See TracChangeset
for help on using the changeset viewer.