diff --git a/src/system/kernel/scheduler/scheduler_simple.cpp b/src/system/kernel/scheduler/scheduler_simple.cpp index 40ae5ca74a..abecc574ea 100644 --- a/src/system/kernel/scheduler/scheduler_simple.cpp +++ b/src/system/kernel/scheduler/scheduler_simple.cpp @@ -101,12 +101,6 @@ simple_enqueue_in_run_queue(struct thread *thread) T(EnqueueThread(thread, prev, curr)); - // notify listeners - for (SchedulerListenerList::Iterator it = gSchedulerListeners.GetIterator(); - SchedulerListener* listener = it.Next();) { - listener->ThreadEnqueuedInRunQueue(thread); - } - thread->queue_next = curr; if (prev) prev->queue_next = thread; @@ -151,6 +145,12 @@ simple_enqueue_in_run_queue(struct thread *thread) } } } + + // notify listeners + for (SchedulerListenerList::Iterator it = gSchedulerListeners.GetIterator(); + SchedulerListener* listener = it.Next();) { + listener->ThreadEnqueuedInRunQueue(thread); + } }