page_fault_handler(): reenable preempt after failed PF when process is exiting

This commit is contained in:
Balazs Gerofi
2015-09-17 10:05:14 +09:00
parent 7dfeb8e7ce
commit ccb7c30a05

View File

@ -381,15 +381,16 @@ static void page_fault_handler(void *fault_addr, uint64_t reason, void *regs)
struct siginfo info;
if (error == -ECANCELED) {
kprintf("process is exiting, terminate.\n");
dkprintf("process is exiting, terminate.\n");
ihk_mc_spinlock_lock_noirq(&proc->ftn->lock);
proc->ftn->status = PS_ZOMBIE;
ihk_mc_spinlock_unlock_noirq(&proc->ftn->lock);
release_fork_tree_node(proc->ftn->parent);
release_fork_tree_node(proc->ftn);
//release_process(proc);
release_process(proc);
preempt_enable();
schedule();
}