]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Likely fix for helper-related SEGV shortly after reconfigure
authorwessels <>
Thu, 4 Oct 2007 22:43:54 +0000 (22:43 +0000)
committerwessels <>
Thu, 4 Oct 2007 22:43:54 +0000 (22:43 +0000)
I'm seeing occasional SEGVs in helperHandleRead() shortly after
a reconfigure.  I suspect that the helper structure was kept
around during the reconfigure because of a pending request.  If
it gets closed in helperHandleRead() after reading, then we must
return from the function rather than continue in the while loop.

src/helper.cc

index 98c6cc85435dfe1f3705b6c66f361732326a5e26..43d49225c9c06014fa9002b48da4330d9a64dbeb 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: helper.cc,v 1.88 2007/08/27 12:50:43 hno Exp $
+ * $Id: helper.cc,v 1.89 2007/10/04 16:43:54 wessels Exp $
  *
  * DEBUG: section 84    Helper process maintenance
  * AUTHOR: Harvest Derived?
@@ -1070,6 +1070,7 @@ helperHandleRead(int fd, char *buf, size_t len, comm_err_t flag, int xerrno, voi
             srv->wfd = -1;
             srv->flags.closing=1;
             comm_close(wfd);
+           return;
         } else
             helperKickQueue(hlp);
     }