Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/proc/scheduler.c

    ree42e43 r2d3ddad  
    193193                 * This improves energy saving and hyperthreading.
    194194                 */
     195               
     196                 /* Mark CPU as it was idle this clock tick */
    195197                irq_spinlock_lock(&CPU->lock, false);
    196198                CPU->idle = true;
    197199                irq_spinlock_unlock(&CPU->lock, false);
     200               
    198201                interrupts_enable();
    199                
    200202                /*
    201203                 * An interrupt might occur right now and wake up a thread.
     
    384386        as_t *old_as = AS;
    385387       
    386         ASSERT((!THREAD) || (irq_spinlock_locked(&THREAD->lock)));
     388        ASSERT(!THREAD || irq_spinlock_locked(&THREAD->lock));
    387389        ASSERT(CPU != NULL);
    388390       
     
    455457                        irq_spinlock_unlock(&THREAD->sleep_queue->lock, false);
    456458                       
     459                        /*
     460                         * Check for possible requests for out-of-context
     461                         * invocation.
     462                         *
     463                         */
     464                        if (THREAD->call_me) {
     465                                THREAD->call_me(THREAD->call_me_with);
     466                                THREAD->call_me = NULL;
     467                                THREAD->call_me_with = NULL;
     468                        }
     469                       
    457470                        irq_spinlock_unlock(&THREAD->lock, false);
     471                       
    458472                        break;
    459473               
Note: See TracChangeset for help on using the changeset viewer.