summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1995-04-18 19:59:56 +0000
committerMichael I. Bushnell <mib@gnu.org>1995-04-18 19:59:56 +0000
commit0f9621372aea52b904b6d6a3ac5a84e95165fff7 (patch)
tree454d5377bb5bc7bfda2a3ddd10a6c4868979556d
parentfeac7255b38d87dbbad127349a7d01bda279b66d (diff)
(reparent_zombies): Send SIGCHLD signal to init.
-rw-r--r--proc/wait.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/proc/wait.c b/proc/wait.c
index d192b510..18ea769e 100644
--- a/proc/wait.c
+++ b/proc/wait.c
@@ -116,7 +116,7 @@ reparent_zombies (struct proc *p)
{
struct zombie *z, *prevz;
struct wait_c *w = &startup_proc->p_continuation.wait_c;
- int initwoken = 0;
+ int initwoken = 0, initsignalled = 0;
for (z = zombie_list, prevz = 0; z; prevz = z, z = z->next)
{
@@ -124,6 +124,12 @@ reparent_zombies (struct proc *p)
continue;
z->parent = startup_proc;
+ if (!initsignalled)
+ {
+ send_signal (startup_proc->p_msgport, SIGCHLD, startup_proc->p_task);
+ initsignalled = 1;
+ }
+
if (initwoken || !startup_proc->p_waiting)
continue;