From: wessels <> Date: Thu, 4 Oct 2007 22:43:54 +0000 (+0000) Subject: Likely fix for helper-related SEGV shortly after reconfigure X-Git-Tag: SQUID_3_0_STABLE1~82 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b7178dba0b780b7a6eb06c03c86154e36b4dd489;p=thirdparty%2Fsquid.git Likely fix for helper-related SEGV shortly after reconfigure 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. --- diff --git a/src/helper.cc b/src/helper.cc index 98c6cc8543..43d49225c9 100644 --- a/src/helper.cc +++ b/src/helper.cc @@ -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); }