* 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
static int spawn (char *sprog, int id)
{
- int r;
+ int r, fd;
char path[256];
char envstr[80];
{
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);
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;
}