From 9ce60df67bb75468368e049c5f2c3195e3d669c0 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Sat, 17 May 2025 18:37:19 -0400 Subject: kernel: sched: Add sched_detach() Signed-off-by: Ian Moffett --- sys/include/sys/sched.h | 2 ++ sys/kern/kern_sched.c | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/sys/include/sys/sched.h b/sys/include/sys/sched.h index 7f5e65f..80f4d1c 100644 --- a/sys/include/sys/sched.h +++ b/sys/include/sys/sched.h @@ -37,6 +37,8 @@ void sched_init(void); void sched_yield(void); +void sched_detach(struct proc *td); + __dead void sched_enter(void); void sched_enqueue_td(struct proc *td); diff --git a/sys/kern/kern_sched.c b/sys/kern/kern_sched.c index 01c3b8d..8e5c0e9 100644 --- a/sys/kern/kern_sched.c +++ b/sys/kern/kern_sched.c @@ -261,6 +261,18 @@ sched_yield(void) } } +void +sched_detach(struct proc *td) +{ + struct sched_queue *queue; + + spinlock_acquire(&tdq_lock); + queue = &qlist[td->priority]; + + TAILQ_REMOVE(&queue->q, td, link); + spinlock_release(&tdq_lock); +} + void sched_init(void) { -- cgit v1.2.3