Re: Small patch for SCO systems

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Tue, 15 Nov 2005 11:15:03 +0100 (CET)

On Mon, 14 Nov 2005, Kean Johnston wrote:

> Ok then the check should be more complete and be compared to
> both, becuase the current scheme foils things if you compile
> with make CC='gcc -DFD_SETSIZE=12345' for example. I realize
> that in theory, that should have been the args used to configure
> so that that value is detected at autoconf time, but it does
> no harm to check both values. Without this I got compiler
> warnings that FD_SETSIZE is redfined.

Makes sense.

What should be done is that if FD_SETSIZE is defined at this point then it
can't be overridden yet another time by Squid.

How does this sound to you?

Index: src/squid.h
===================================================================
RCS file: /cvsroot/squid/squid/src/squid.h,v
retrieving revision 1.216.2.8
diff -u -p -r1.216.2.8 squid.h
--- src/squid.h 26 Mar 2005 02:50:53 -0000 1.216.2.8
+++ src/squid.h 15 Nov 2005 10:09:37 -0000
@@ -46,13 +46,22 @@
  #define CHANGE_FD_SETSIZE 1

  /*
+ * If FD_SETSIZE is already defined by the user in the compiler options
+ * then we should not override the user provided value.
+ */
+#ifdef FD_SETSIZE
+#undef CHANGE_FD_SETSIZE
+#define CHANGE_FD_SETSIZE 0
+#endif
+
+/*
   * Cannot increase FD_SETSIZE on Linux, but we can increase __FD_SETSIZE
   * with glibc 2.2 (or later? remains to be seen). We do this by including
   * bits/types.h which defines __FD_SETSIZE first, then we redefine
   * __FD_SETSIZE. Ofcourse a user program may NEVER include bits/whatever.h
   * directly, so this is a dirty hack!
   */
-#if defined(_SQUID_LINUX_)
+#if CHANGE_FD_SETSIZE && defined(_SQUID_LINUX_)
  #undef CHANGE_FD_SETSIZE
  #define CHANGE_FD_SETSIZE 0
  #include <features.h>

Regards
Henrik
Received on Tue Nov 15 2005 - 03:15:08 MST

This archive was generated by hypermail pre-2.1.9 : Thu Dec 01 2005 - 12:00:15 MST