diff --git a/kernel-src/sys/scheduler/scheduler.c b/kernel-src/sys/scheduler/scheduler.c index d0c4821f..9371d0e7 100644 --- a/kernel-src/sys/scheduler/scheduler.c +++ b/kernel-src/sys/scheduler/scheduler.c @@ -161,7 +161,8 @@ static void yield(context_t *context, void *) { thread_t *next = sched_select_next_thread(); - thread->flags |= THREAD_FLAGS_RUNNING; + if (thread == next) + thread->flags |= THREAD_FLAGS_RUNNING; spinlock_release(¤t_cpu()->sched_lock);