summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_synch.c
diff options
context:
space:
mode:
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 fa6c150..24da6e9 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);
}
+
OpenPOWER on IntegriCloud