wait4(), waitid(), and exit()¶
Lego supports wait4()
and waitid()
syscalls, and they are compatible with Linux programs. These two syscalls rely on exit_notify()
function when a thread exit()
. Basically, when a thread exit, it will notify its parent, and reparent3 its children if necessary.
Facts in Lego:
- Lego does not have process group and session2 concept. Each process is within its own process group and session.
- This implies Lego will not have Orphaned Process Group1 when a process exit.
- Orphan process3 is adopted by init process (pid 1) if its father is a single-thread process, otherwise it will be adopted by other thread within its father’s process. This is performed by function
forget_original_parent()
. - wait, signal, exec, fork are close related.
–
Yizhou Shan
Created: Mar 8, 2018
Last Updated: Mar 10, 2018