Deleting a Process Address Space

When a process terminates, the kernel invokes the exit_mm( ) function to release the address space owned by that process:

atomic inc(&tsk->mm->mm count); mm = tsk->mm; tsk->mm = NULL;

enter lazy tlb(mm, current, smp processor id()); mmput(mm);

The mm_release( ) function wakes up any process sleeping in the tsk->vfork_done completion (see Section 5.3.8). Typically, the corresponding wait queue is nonempty only if the exiting process was created by means of the vfork( ) system call (see Section 3.4.1).

I [email protected] RuBoard

* previous

* previous

Continue reading here: Managing the Heap

Was this article helpful?

0 0