summaryrefslogtreecommitdiff
path: root/sys/kern/kern_synch.c
diff options
context:
space:
mode:
authorMatthew Dillon <dillon@FreeBSD.org>2001-09-01 03:54:09 +0000
committerMatthew Dillon <dillon@FreeBSD.org>2001-09-01 03:54:09 +0000
commit918c3b1361d6bd2f2c1e2047fdc1d0820027da7b (patch)
treea1c0042c4e9e8bde7cd36f1eb082d1a09d5c1d10 /sys/kern/kern_synch.c
parent116734c4d17fa35e66385279e8e57e89e878c27d (diff)
Notes
Diffstat (limited to 'sys/kern/kern_synch.c')
-rw-r--r--sys/kern/kern_synch.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/kern/kern_synch.c b/sys/kern/kern_synch.c
index fa6c1500590f..24da6e919f16 100644
--- a/sys/kern/kern_synch.c
+++ b/sys/kern/kern_synch.c
@@ -846,17 +846,22 @@ schedclock(p)
int
yield(struct proc *p, struct yield_args *uap)
{
-
p->p_retval[0] = 0;
mtx_lock_spin(&sched_lock);
+ mtx_assert(&Giant, MA_NOTOWNED);
+#if 0
DROP_GIANT_NOSWITCH();
+#endif
p->p_pri.pri_level = PRI_MAX_TIMESHARE;
setrunqueue(p);
p->p_stats->p_ru.ru_nvcsw++;
mi_switch();
mtx_unlock_spin(&sched_lock);
+#if 0
PICKUP_GIANT();
+#endif
return (0);
}
+