+ /* --- Set up a handler when children die --- *
+ *
+ * I don't fork any children? Why is this useful? Because I've been
+ * execed from a shell which started lots of background processes, and
+ * they'll zombie themselves otherwise.
+ */
+
+ {
+ struct sigaction sa;
+
+ sa.sa_handler = sigchld;
+ sigemptyset(&sa.sa_mask);
+ sigaddset(&sa.sa_mask, SIGCHLD);
+ sa.sa_flags = 0;
+ sigaction(SIGCHLD, &sa, 0);
+ }
+