to be used.
- The CONNECT method now obeys miss_access requirements
- proxy_auth_regex and ident_regex ACL types
+ - Fixed a StoreEntry memory leak during "dirty" rebuild
+ - Helper processes no longer hold unrelated filedescriptors open
Changes to Squid-2.4.DEVEL2 ():
continue;
}
srv->flags.closing = 1;
- comm_close(srv->rfd);
+ comm_close(srv->wfd);
+ srv->wfd = -1;
}
}
helperRequestFree(r);
srv->request = NULL;
}
- if (srv->wfd != srv->rfd)
+ if (srv->wfd != srv->rfd && srv->wfd != -1)
comm_close(srv->wfd);
dlinkDelete(&srv->link, &hlp->servers);
hlp->n_running--;
intAverage(hlp->stats.avg_svc_time,
tvSubMsec(srv->dispatch_time, current_time),
hlp->stats.replies, REDIRECT_AV_FACTOR);
- if (srv->flags.shutdown)
+ if (srv->flags.shutdown) {
comm_close(srv->wfd);
- else
+ srv->wfd = -1;
+ } else
helperKickQueue(hlp);
} else {
commSetSelect(srv->rfd, COMM_SELECT_READ, helperHandleRead, srv, 0);
/*
- * $Id: ipc.cc,v 1.18 2000/03/06 16:23:32 wessels Exp $
+ * $Id: ipc.cc,v 1.19 2000/05/02 20:12:09 hno Exp $
*
* DEBUG: section 54 Interprocess Communication
* AUTHOR: Duane Wessels
close(t1);
close(t2);
close(t3);
+ /* Make sure all other filedescriptors are closed */
+ for(x=3;x<SQUID_MAXFD; x++)
+ close(x);
#if HAVE_SETSID
setsid();
#endif
execvp(prog, args);
+ debug_log = fdopen(2, "a+");
debug(50, 0) ("ipcCreate: %s: %s\n", prog, xstrerror());
_exit(1);
return 0;