]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
dont force closing of IPC sockets with commCloseAllSockets during shutdown
authorwessels <>
Tue, 11 Aug 1998 11:53:49 +0000 (11:53 +0000)
committerwessels <>
Tue, 11 Aug 1998 11:53:49 +0000 (11:53 +0000)
src/comm.cc
src/ipc.cc
src/structs.h

index ab32b03f1b181f09707168ecc546c37e8963b30d..6215c99152200ad7e68cb75acf97bf53495ab95b 100644 (file)
@@ -1,7 +1,7 @@
 
 
 /*
- * $Id: comm.cc,v 1.281 1998/07/29 02:57:35 wessels Exp $
+ * $Id: comm.cc,v 1.282 1998/08/11 05:53:49 wessels Exp $
  *
  * DEBUG: section 5     Socket Functions
  * AUTHOR: Harvest Derived
@@ -881,6 +881,8 @@ commCloseAllSockets(void)
            continue;
        if (F->type != FD_SOCKET)
            continue;
+       if (F->flags.ipc)       /* don't close inter-process sockets */
+           continue;
        if (F->timeout_handler) {
            debug(5, 5) ("commCloseAllSockets: FD %d: Calling timeout handler\n",
                fd);
index b49cb98dd4509bc17e71d61c503be72c0f69902c..3b7fbd39c551d0113cffbfa85066defb64eb08b9 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ipc.cc,v 1.9 1998/08/10 19:37:48 wessels Exp $
+ * $Id: ipc.cc,v 1.10 1998/08/11 05:53:50 wessels Exp $
  *
  * DEBUG: section 54    Interprocess Communication
  * AUTHOR: Duane Wessels
@@ -198,6 +198,8 @@ ipcCreate(int type, const char *prog, char *const args[], const char *name, int
            *rfd = prfd;
        if (wfd)
            *wfd = pwfd;
+       fd_table[prfd].flags.ipc = 1;
+       fd_table[pwfd].flags.ipc = 1;
        return pwfd;
     }
     /* child */
index 298e609048d71986de9ba7cefbc1a1126278fe87..41aa246c28a50a99f88310f834115902a23ca058 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: structs.h,v 1.194 1998/08/03 19:30:27 wessels Exp $
+ * $Id: structs.h,v 1.195 1998/08/11 05:53:50 wessels Exp $
  *
  *
  * SQUID Internet Object Cache  http://squid.nlanr.net/Squid/
@@ -490,6 +490,7 @@ struct _fde {
        int socket_eof:1;
        int nolinger:1;
        int nonblocking:1;
+       int ipc:1;
     } flags;
     int bytes_read;
     int bytes_written;