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)