dgaudet 97/04/15 13:00:24
Modified: src CHANGES Configuration.tmpl Configure conf.h
Log:
Linux platforms have various differences that make it difficult to enable
the HAVE_SHMGET and disable the USE_FCNTL_SERIALIZED_ACCEPT reliably. So
instead we'll let the user shoot themselves.
Reviewed by: Jim, Ralf, Chuck
Revision Changes Path
1.232 +6 -0 apache/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache/src/CHANGES,v
retrieving revision 1.231
retrieving revision 1.232
diff -C3 -r1.231 -r1.232
*** CHANGES 1997/04/14 01:09:12 1.231
--- CHANGES 1997/04/15 20:00:20 1.232
***************
*** 1,5 ****
--- 1,11 ----
Changes with Apache 1.2
+ *) Back out the HAVE_SHMGET change for Linux because it's too late in
+ the beta cycle to deal cleanly with compilation problems on the
+ myriad of linux systems out there. Linux users should see
+ Configuration.tmpl about defining "Rule LINUX_TWEAKS=yes".
+ [Dean Gaudet] PR#336, PR#340
+
*) Redirect did not preserve ?query_strings when present in the client's
request. [Dean Gaudet]
1.58 +9 -1 apache/src/Configuration.tmpl
Index: Configuration.tmpl
===================================================================
RCS file: /export/home/cvs/apache/src/Configuration.tmpl,v
retrieving revision 1.57
retrieving revision 1.58
diff -C3 -r1.57 -r1.58
*** Configuration.tmpl 1997/04/15 04:32:54 1.57
--- Configuration.tmpl 1997/04/15 20:00:20 1.58
***************
*** 57,63 ****
# functions. The format is: Rule RULE=value
#
# At present, only the following RULES are known: WANTHSREGEX, SOCKS4,
! # STATUS and IRIXNIS.
#
# For all Rules, if set to "yes", then Configure knows we want that
# capability and does what is required to add it in. If set to "default"
--- 57,63 ----
# functions. The format is: Rule RULE=value
#
# At present, only the following RULES are known: WANTHSREGEX, SOCKS4,
! # STATUS, IRIXNIS, and LINUX_TWEAK.
#
# For all Rules, if set to "yes", then Configure knows we want that
# capability and does what is required to add it in. If set to "default"
***************
*** 80,89 ****
--- 80,97 ----
# SGI IRIX. If you are, and you are using NIS, you should set this
# to 'yes'
#
+ # LINUX_TWEAK:
+ # Only takes effect if Configure determines that you are running a Linux
+ # system. This enables two optimizations that work well on i386 linux 2.0
+ # or later systems. They aren't enabled by default because of kernel and
+ # library problems with various versions of linux. We'd rather release
+ # something known stable and let you choose the optimizations yourself.
+ #
Rule STATUS=yes
Rule SOCKS4=no
Rule IRIXNIS=no
+ Rule LINUX_TWEAK=no
# The following rules should be set automatically by Configure. However, if
# they are not set by Configure (because we don't know the correct value for
1.92 +4 -0 apache/src/Configure
Index: Configure
===================================================================
RCS file: /export/home/cvs/apache/src/Configure,v
retrieving revision 1.91
retrieving revision 1.92
diff -C3 -r1.91 -r1.92
*** Configure 1997/04/14 11:52:20 1.91
--- Configure 1997/04/15 20:00:21 1.92
***************
*** 133,138 ****
--- 133,139 ----
RULE_STATUS=`./helpers/CutRule STATUS $file`
RULE_SOCKS4=`./helpers/CutRule SOCKS4 $file`
RULE_IRIXNIS=`./helpers/CutRule IRIXNIS $file`
+ RULE_LINUX_TWEAK=`./helpers/CutRule LINUX_TWEAK $file`
#
# Now we determine the OS/Platform automagically, thanks to
***************
*** 262,267 ****
--- 263,271 ----
DEF_WANTHSREGEX=yes
OS='Linux'
CFLAGS="$CFLAGS -DLINUX"
+ if [ "$RULE_LINUX_TWEAK" = "yes" ]; then
+ CFLAGS="$CFLAGS -DLINUX_TWEAK"
+ fi
;;
*-lynx-lynxos*)
OS='LynxOS'
1.93 +14 -2 apache/src/conf.h
Index: conf.h
===================================================================
RCS file: /export/home/cvs/apache/src/conf.h,v
retrieving revision 1.92
retrieving revision 1.93
diff -C3 -r1.92 -r1.93
*** conf.h 1997/04/09 01:40:51 1.92
--- conf.h 1997/04/15 20:00:21 1.93
***************
*** 253,265 ****
#define NO_USE_SIGACTION
#elif defined(LINUX)
#undef HAVE_GMTOFF
#undef NO_KILLPG
#undef NO_SETSID
#undef NEED_STRDUP
- #define HAVE_SHMGET
#define JMP_BUF sigjmp_buf
- #define USE_FCNTL_SERIALIZED_ACCEPT
#include <sys/time.h>
#elif defined(SCO)
--- 253,277 ----
#define NO_USE_SIGACTION
#elif defined(LINUX)
+ #ifndef LINUX_TWEAK
+ /* the old "stable" way ... it's unfortunate that by doing this we'll incur
+ * bug reports from linux users that run multiple Apaches without setting
+ * a different ScoreBoardFile for each of them.
+ */
+ /* #define HAVE_SHMGET */
+ #define USE_FCNTL_SERIALIZED_ACCEPT
+ #else
+ /* this stuff works under 2.0 on i386, but we've had bug reports of it
+ * causing compile-time problems on 1.x systems, and on 2.x alphas.
+ */
+ #define HAVE_SHMGET
+ /* #define USE_FCNTL_SERIALIZED_ACCEPT */
+ #endif
#undef HAVE_GMTOFF
#undef NO_KILLPG
#undef NO_SETSID
#undef NEED_STRDUP
#define JMP_BUF sigjmp_buf
#include <sys/time.h>
#elif defined(SCO)