X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Ftexsourc%2Fyandytex.c;h=941e7387f5637ea80c233690afbf6eb08a049c98;hb=999e7a9e265d5cc6d3ee7f71b94d63152b1f1cf8;hp=9ad264182b0a1602f8bdf176b80dbb5a37559386;hpb=f42ffef3e84594790c604c6059a941bd52bd154b;p=putex%2Fputex.git diff --git a/src/texsourc/yandytex.c b/src/texsourc/yandytex.c index 9ad2641..941e738 100644 --- a/src/texsourc/yandytex.c +++ b/src/texsourc/yandytex.c @@ -903,21 +903,23 @@ void funny_core_dump (void) 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); }