/*
- * $Id: client_side_reply.cc,v 1.67 2003/09/01 03:49:38 robertc Exp $
+ * $Id: client_side_reply.cc,v 1.68 2004/04/03 14:25:59 hno Exp $
*
* DEBUG: section 88 Client-side Reply Routines
* AUTHOR: Robert Collins (Originally Duane Wessels in client_side.c)
request->flags.proxy_keepalive = 0;
}
+ if (fdUsageHigh()) {
+ debug(88, 3) ("clientBuildReplyHeader: Not many unused FDs, can't keep-alive\n");
+ request->flags.proxy_keepalive = 0;
+ }
+
/* Append VIA */
{
LOCAL_ARRAY(char, bbuf, MAX_URL + 32);
/*
- * $Id: fd.cc,v 1.49 2003/11/09 17:11:11 hno Exp $
+ * $Id: fd.cc,v 1.50 2004/04/03 14:25:59 hno Exp $
*
* DEBUG: section 51 Filedescriptor Functions
* AUTHOR: Duane Wessels
return Squid_MaxFD - Number_FD - Opening_FD;
}
+int
+fdUsageHigh(void)
+{
+ int nrfree = fdNFree();
+
+ if (nrfree < (RESERVED_FD << 1))
+ return 1;
+
+ if (nrfree < (Number_FD >> 2))
+ return 1;
+
+ return 0;
+}
+
/* Called when we runs out of file descriptors */
void
fdAdjustReserved(void)
/*
- * $Id: pconn.cc,v 1.41 2003/08/16 10:04:34 adrian Exp $
+ * $Id: pconn.cc,v 1.42 2004/04/03 14:25:59 hno Exp $
*
* DEBUG: section 48 Persistent Connections
* AUTHOR: Duane Wessels
LOCAL_ARRAY(char, key, SQUIDHOSTNAMELEN + 10);
LOCAL_ARRAY(char, desc, FD_DESC_SZ);
- if (fdNFree() < (RESERVED_FD << 1)) {
+ if (fdUsageHigh()) {
debug(48, 3) ("pconnPush: Not many unused FDs\n");
comm_close(fd);
return;
/*
- * $Id: protos.h,v 1.493 2003/10/16 21:40:16 robertc Exp $
+ * $Id: protos.h,v 1.494 2004/04/03 14:25:59 hno Exp $
*
*
* SQUID Web Proxy Cache http://www.squid-cache.org/
SQUIDCEXTERN void fdFreeMemory(void);
SQUIDCEXTERN void fdDumpOpen(void);
SQUIDCEXTERN int fdNFree(void);
+SQUIDCEXTERN int fdUsageHigh(void);
SQUIDCEXTERN void fdAdjustReserved(void);
SQUIDCEXTERN fileMap *file_map_create(void);