diff options
Diffstat (limited to 'sys/amd64/amd64/vm_machdep.c')
-rw-r--r-- | sys/amd64/amd64/vm_machdep.c | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/sys/amd64/amd64/vm_machdep.c b/sys/amd64/amd64/vm_machdep.c index 4fc91dd..53cedff 100644 --- a/sys/amd64/amd64/vm_machdep.c +++ b/sys/amd64/amd64/vm_machdep.c @@ -268,38 +268,12 @@ cpu_exit(p) reset_dbregs(); pcb->pcb_flags &= ~PCB_DBREGS; } - PROC_LOCK(p); - mtx_lock_spin(&sched_lock); - while (mtx_owned(&Giant)) - mtx_unlock_flags(&Giant, MTX_NOSWITCH); - - /* - * We have to wait until after releasing all locks before - * changing p_stat. If we block on a mutex then we will be - * back at SRUN when we resume and our parent will never - * harvest us. - */ - p->p_stat = SZOMB; - - wakeup(p->p_pptr); - PROC_UNLOCK_NOSWITCH(p); - - cnt.v_swtch++; - cpu_throw(); - panic("cpu_exit"); } void cpu_wait(p) struct proc *p; { - GIANT_REQUIRED; - - /* drop per-process resources */ - pmap_dispose_proc(p); - - /* and clean-out the vmspace */ - vmspace_free(p->p_vmspace); } /* |