Delay pools and 'charge' support patch

From: David Luyer <luyer@dont-contact.us>
Date: Thu, 22 Jul 1999 20:32:10 +0800

I've updated my patches for delay pools and 'charge' support to squid
2.2.STABLE4 and added a minor bugfix (limits.h should be explicitly included).

Here's the changes (by source file):

configure.in: don't test multiple times for tempnam, drand48 (need to re-run
   autoconf to fully commit this change).
lib/Makefile.in: remove Makefile.bak if it exists in make distclean (for
   when dependencies have been used).
makefile.in: properly clean out auth_modules during make almost/distclean.
src/Makefile.in: remove Makefile.bak if it exists in make distclean,
   add charge.o to object files.
src/acl.c: add "charge" support.
src/authenticate.c: survive 2^32 reconfigures properly.
src/cache_cf.c: no-charge peer tag.
src/cf.data.pre: document "charge" support.
src/charge.c: "charge" support.
src/client_side.c: "request" is never null, we'd have died on
   request->user_ident[0] long ago if that was a valid possibility. remove
   check. also some "charge" support code.
src/comm_select.c: minor speedups plus code to prevent delay pools starving
   high numbered file descriptors.
src/dns.c: survive 2^32 reconfigures.
src/enums.h: "charge" support.
src/forward.c: changes for delay pools fix & for charge support.
src/http.c: "charge" support.
src/main.c: "charge" support.
src/neighbors.c: no-charge peer tag.
src/protos.h: "charge" support.
src/redirect.c: survive 2^32 reconfigures.
src/squid.h: add limits.h for delay pools update fix.
src/ssl.c: changes for delay pools fix & for no-charge tag support.
src/structs.h: "charge" support.

I haven't actually used the "charge" support but I have been running a squid
cache with this code in it for a long time with no problems. This patch is
primarily to fix the delay pools starvation issues (where one file descriptor
grabs all the available bandwidth), it also fixes some minor annoyances and
buglets as mentioned above and adds the untested "charge" code.

This is well tested under Squid 2.2.STABLE3 on Linux but recently reported to
not work on Solaris/SPARC (under 2.2.STABLE3).

David.
Received on Thu Jul 22 1999 - 06:35:23 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:47:28 MST