diff options
author | davidxu <davidxu@FreeBSD.org> | 2006-06-15 06:41:57 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2006-06-15 06:41:57 +0000 |
commit | 1689a257a3225150b95ea8241663b4784ac60e9f (patch) | |
tree | 21e23f5b29c5cac5587f9afb18714feb55c2ac2d /sys/kern | |
parent | a4976ce4819998468c1e5c81438c6e85194d9eed (diff) | |
download | FreeBSD-src-1689a257a3225150b95ea8241663b4784ac60e9f.zip FreeBSD-src-1689a257a3225150b95ea8241663b4784ac60e9f.tar.gz |
Use scheduler API sched_relinquish() to implement yield() syscall.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_synch.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c index a5e50b1..717025b 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); } |