1 Index: squid/src/client_side.c
2 diff -c squid/src/client_side.c:1.561.2.46 squid/src/client_side.c:1.561.2.47
3 *** squid/src/client_side.c:1.561.2.46 Mon Sep 1 14:39:33 2003
4 --- squid/src/client_side.c Sun Dec 14 05:30:35 2003
8 debug(33, 3) ("clientBuildReplyHeader: can't keep-alive, unknown body size\n");
9 request->flags.proxy_keepalive = 0;
11 + if (fdUsageHigh()) {
12 + debug(33, 3) ("clientBuildReplyHeader: Not many unused FDs, can't keep-alive\n");
13 + request->flags.proxy_keepalive = 0;
15 /* Signal keep-alive if needed */
17 http->flags.accel ? HDR_CONNECTION : HDR_PROXY_CONNECTION,
19 diff -c squid/src/fd.c:1.43 squid/src/fd.c:1.43.2.1
20 *** squid/src/fd.c:1.43 Sun Aug 26 16:24:56 2001
21 --- squid/src/fd.c Sun Dec 14 05:30:36 2003
25 return Squid_MaxFD - Number_FD - Opening_FD;
31 + int nrfree = fdNFree();
32 + if (nrfree < (RESERVED_FD << 1))
34 + if (nrfree < (Number_FD >> 2))
39 /* Called when we runs out of file descriptors */
41 fdAdjustReserved(void)
42 Index: squid/src/pconn.c
43 diff -c squid/src/pconn.c:1.31 squid/src/pconn.c:1.31.2.1
44 *** squid/src/pconn.c:1.31 Fri Apr 13 18:03:23 2001
45 --- squid/src/pconn.c Sun Dec 14 05:30:36 2003
49 LOCAL_ARRAY(char, key, SQUIDHOSTNAMELEN + 10);
50 LOCAL_ARRAY(char, desc, FD_DESC_SZ);
51 ! if (fdNFree() < (RESERVED_FD << 1)) {
52 debug(48, 3) ("pconnPush: Not many unused FDs\n");
57 LOCAL_ARRAY(char, key, SQUIDHOSTNAMELEN + 10);
58 LOCAL_ARRAY(char, desc, FD_DESC_SZ);
59 ! if (fdUsageHigh()) {
60 debug(48, 3) ("pconnPush: Not many unused FDs\n");
63 Index: squid/src/protos.h
64 diff -c squid/src/protos.h:1.420.2.20 squid/src/protos.h:1.420.2.21
65 *** squid/src/protos.h:1.420.2.20 Sun Aug 10 15:04:47 2003
66 --- squid/src/protos.h Sun Dec 14 05:30:37 2003
70 extern void fdFreeMemory(void);
71 extern void fdDumpOpen(void);
72 extern int fdNFree(void);
73 + extern int fdUsageHigh(void);
74 extern void fdAdjustReserved(void);
76 extern fileMap *file_map_create(void);