diff options
Diffstat (limited to 'os/rt/src')
| -rw-r--r-- | os/rt/src/chsys.c | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/os/rt/src/chsys.c b/os/rt/src/chsys.c index 5279ef518..19964ec13 100644 --- a/os/rt/src/chsys.c +++ b/os/rt/src/chsys.c @@ -227,7 +227,7 @@ void chSysTimerHandlerI(void) {   *
   * @xclass
   */
 -syssts_t chSysGetAndLockX(void)  {
 +syssts_t chSysGetStatusAndLockX(void)  {
    syssts_t sts = port_get_irq_status();
    if (port_irq_enabled(sts)) {
 @@ -246,13 +246,15 @@ syssts_t chSysGetAndLockX(void)  {   *
   * @xclass
   */
 -void chSysRestoreLockX(syssts_t sts) {
 +void chSysRestoreLockAndRescheduleX(syssts_t sts) {
    if (port_irq_enabled(sts)) {
      if (port_is_isr_context())
        chSysUnlockFromISR();
 -    else
 +    else {
 +      chSchRescheduleS();
        chSysUnlock();
 +    }
    }
  }
 | 
