diff options
Diffstat (limited to 'sys/kern/kern_synch.c')
-rw-r--r-- | sys/kern/kern_synch.c | 7 |
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); } + |