summaryrefslogtreecommitdiff
path: root/signal.c
diff options
context:
space:
mode:
Diffstat (limited to 'signal.c')
-rw-r--r--signal.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/signal.c b/signal.c
index 11b9a66..1c3f812 100644
--- a/signal.c
+++ b/signal.c
@@ -70,4 +70,11 @@ extern void initsignal() {
signal(i, h);
sighandlers[i] = h;
}
+
+#ifdef SIGCLD
+ /* Ensure that SIGCLD is not SIG_IGN. Solaris's rshd does this. :-( */
+ h = signal(SIGCLD, SIG_DFL);
+ if (h != SIG_IGN)
+ signal(SIGCLD, h);
+#endif
}