switch (pid = vfork ())
{
- case -1: /* failed */
+ case -1:
perrormod ("vfork");
- exit (-1); /* NOTREACHED */
+ exit (-1);
- case 0: /* child */
+ case 0:
(void) signal (SIGQUIT, SIG_DFL);
(void) kill (getpid (), SIGQUIT);
(void) write (2, "how did we get here?\n", 21);
- exit (1); /* NOTREACHED */
+ exit (1);
- default: /* parent */
+ default:
while ((w = wait (&status)) != pid && w != -1)
;
+
if (status.w_coredump)
exit (0);
+
(void) write (2, "attempt to dump core failed\n", 28);
exit (1);
}