From 7bb561fbb9c14a6faa0abb54abb4de9e6e4167cc Mon Sep 17 00:00:00 2001 From: David Xu Date: Thu, 15 Jun 2006 06:41:57 +0000 Subject: [PATCH] Use scheduler API sched_relinquish() to implement yield() syscall. --- sys/kern/kern_synch.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c index a5e50b124d3d..717025b66e4e 100644 --- a/sys/kern/kern_synch.c +++ b/sys/kern/kern_synch.c @@ -542,14 +542,8 @@ synch_setup(dummy) int yield(struct thread *td, struct yield_args *uap) { - struct ksegrp *kg; - - kg = td->td_ksegrp; mtx_assert(&Giant, MA_NOTOWNED); - mtx_lock_spin(&sched_lock); - sched_prio(td, PRI_MAX_TIMESHARE); - mi_switch(SW_VOL, NULL); - mtx_unlock_spin(&sched_lock); - td->td_retval[0] = 0; + (void)uap; + sched_relinquish(td); return (0); }