summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;