diff options
Diffstat (limited to 'sys/amd64/amd64/vm_machdep.c')
-rw-r--r-- | sys/amd64/amd64/vm_machdep.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/amd64/amd64/vm_machdep.c b/sys/amd64/amd64/vm_machdep.c index 2cc597a..0a15103 100644 --- a/sys/amd64/amd64/vm_machdep.c +++ b/sys/amd64/amd64/vm_machdep.c @@ -253,6 +253,7 @@ cpu_exit(p) reset_dbregs(); pcb->pcb_flags &= ~PCB_DBREGS; } + PROC_LOCK(p); mtx_lock_spin(&sched_lock); mtx_unlock_flags(&Giant, MTX_NOSWITCH); mtx_assert(&Giant, MA_NOTOWNED); @@ -265,8 +266,8 @@ cpu_exit(p) */ p->p_stat = SZOMB; - mp_fixme("assumption: p_pptr won't change at this time"); wakeup(p->p_pptr); + PROC_UNLOCK_NOSWITCH(p); cnt.v_swtch++; cpu_throw(); |