---
 kern/sched_prim.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/kern/sched_prim.c b/kern/sched_prim.c
index dd0f492b..f7557124 100644
--- a/kern/sched_prim.c
+++ b/kern/sched_prim.c
@@ -1266,6 +1266,8 @@ void thread_setrun(
                            processor->state = PROCESSOR_DISPATCHING;
                            simple_unlock(&pset->idle_lock);
                            processor_unlock(processor);
+                           if (processor != current_processor())
+                               cause_ast_check(processor);
                            return;
                    }
                    simple_unlock(&pset->idle_lock);
@@ -1283,6 +1285,8 @@ void thread_setrun(
                    processor->next_thread = th;
                    processor->state = PROCESSOR_DISPATCHING;
                    simple_unlock(&pset->idle_lock);
+                   if (processor != current_processor())
+                       cause_ast_check(processor);
                    return;
                }
                simple_unlock(&pset->idle_lock);
@@ -1321,6 +1325,8 @@ void thread_setrun(
                    processor->state = PROCESSOR_DISPATCHING;
                    simple_unlock(&pset->idle_lock);
                    processor_unlock(processor);
+                   if (processor != current_processor())
+                       cause_ast_check(processor);
                    return;
                }
                simple_unlock(&pset->idle_lock);
-- 
2.40.1



Reply via email to