From 9719535a7e496e254a4a94fb8cbc845cdb89f45c Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Mon, 26 Feb 1996 10:36:15 +0000 Subject: [PATCH] Better error handling when (re)spawn of the shell fails. --- www/wcgi.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/www/wcgi.c b/www/wcgi.c index 09b1ff9..6242f90 100644 --- a/www/wcgi.c +++ b/www/wcgi.c @@ -41,7 +41,10 @@ * USE OR PERFORMANCE OF THIS SOFTWARE. * * $Log: wcgi.c,v $ - * Revision 1.16 1996/02/12 10:10:29 adam + * Revision 1.17 1996/02/26 10:36:15 adam + * Better error handling when (re)spawn of the shell fails. + * + * Revision 1.16 1996/02/12 10:10:29 adam * Resource/config system used by the gateway. * * Revision 1.15 1996/01/26 09:02:20 adam @@ -143,7 +146,7 @@ static void fatal(char *p) static int spawn (char *sprog, int id) { - int r; + int r, fd; char path[256]; char envstr[80]; @@ -154,7 +157,7 @@ static int spawn (char *sprog, int id) { case -1: gw_log (GW_LOG_FATAL|GW_LOG_ERRNO, prog, "fork"); - exit(1); + fatal ("Internal error in server"); case 0: close (0); close (1); @@ -162,7 +165,13 @@ static int spawn (char *sprog, int id) gw_log (GW_LOG_DEBUG, prog, "execl %s", path); execl (path, sprog, 0); gw_log (GW_LOG_FATAL|GW_LOG_ERRNO, prog, "execl %s", path); - exit(0); + fd = open (serverp, O_WRONLY); + if (fd >= 0) + { + write (fd, "FA", 2); + close (fd); + } + exit(1); default: return r; } -- 1.7.10.4