Ignore:
File:
1 edited

Legend:

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

    r6eef3c4 r935e28c  
    5252#include <atomic.h>
    5353#include <synch/spinlock.h>
     54#include <synch/workqueue.h>
     55#include <synch/rcu.h>
    5456#include <config.h>
    5557#include <context.h>
     
    6365#include <debug.h>
    6466#include <stacktrace.h>
     67#include <cpu.h>
    6568
    6669static void scheduler_separated_stack(void);
     
    8689{
    8790        before_thread_runs_arch();
     91        rcu_before_thread_runs();
    8892       
    8993#ifdef CONFIG_FPU_LAZY
     
    126130static void after_thread_ran(void)
    127131{
     132        workq_after_thread_ran();
     133        rcu_after_thread_ran();
    128134        after_thread_ran_arch();
    129135}
     
    218224                goto loop;
    219225        }
     226
     227        ASSERT(!CPU->idle);
    220228       
    221229        unsigned int i;
     
    397405        ASSERT((!THREAD) || (irq_spinlock_locked(&THREAD->lock)));
    398406        ASSERT(CPU != NULL);
     407        ASSERT(interrupts_disabled());
    399408       
    400409        /*
     
    420429               
    421430                case Exiting:
     431                        rcu_thread_exiting();
    422432repeat:
    423433                        if (THREAD->detached) {
Note: See TracChangeset for help on using the changeset viewer.