jim 98/01/22 15:12:10
Modified: . STATUS
htdocs/manual/misc FAQ.html perf-tuning.html
htdocs/manual/mod core.html
src CHANGES PORTING
src/main conf.h http_main.c httpd.h
src/os/win32 os.h
src/test time-sem.c
Log:
Submitted by: Jim Jagielski
Do make the code a bit clearer, some minor #define changes (and
the resultant flow-thru in the docs).
SAFE_UNSERIALIZED_ACCEPT -> SINGLE_LISTEN_UNSERIALIZED_ACCEPT
HAVE_MMAP -> USE_MMAP_SCOREBOARD
HAVE_SHMGET -> USE_SHMGET_SCOREBOARD
Revision Changes Path
1.116 +1 -1 apachen/STATUS
Index: STATUS
===================================================================
RCS file: /export/home/cvs/apachen/STATUS,v
retrieving revision 1.115
retrieving revision 1.116
diff -u -r1.115 -r1.116
--- STATUS 1998/01/22 00:03:37 1.115
+++ STATUS 1998/01/22 23:11:45 1.116
@@ -32,7 +32,7 @@
* Ken's [PATCH] for #1479, #1480
* Dean's [PATCH] fail gracefully if cd fails
* Dean's [PATCH] Re: general/1491: mmap_handler error_log entry
- * Marc's [PATCH] FreeBSD 2.2+ can use SAFE_UNSERIALIZED_ACCEPT
+ * Marc's [PATCH] FreeBSD 2.2+ can use SINGLE_LISTEN_UNSERIALIZED_ACCEPT
* Ken's [PATCH] Configure be more verbose when it can't find
Configuration
* Paul's [PATCH] Proper reporting of Win32 errors
1.97 +2 -2 apachen/htdocs/manual/misc/FAQ.html
Index: FAQ.html
===================================================================
RCS file: /export/home/cvs/apachen/htdocs/manual/misc/FAQ.html,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -r1.96 -r1.97
--- FAQ.html 1997/12/16 16:52:19 1.96
+++ FAQ.html 1998/01/22 23:11:48 1.97
@@ -15,7 +15,7 @@
<!--#include virtual="header.html" -->
<H1 ALIGN="CENTER">Apache Server Frequently Asked Questions</H1>
<P>
- $Revision: 1.96 $ ($Date: 1997/12/16 16:52:19 $)
+ $Revision: 1.97 $ ($Date: 1998/01/22 23:11:48 $)
</P>
<P>
The latest version of this FAQ is always available from the main
@@ -1803,7 +1803,7 @@
<A HREF="http://www.linuxhq.com/HOWTO/META-FAQ.html"
>Linux newsgroup/mailing list</A>.
As a last-resort workaround, you can
- comment out the <CODE>#define HAVE_SHMGET</CODE> definition in the
+ comment out the <CODE>#define USE_SHMGET_SCOREBOARD</CODE> definition in
the
<SAMP>LINUX</SAMP> section of
<SAMP>src/conf.h</SAMP> and rebuild the server. This will produce
a server which is slower and less reliable.
1.4 +5 -5 apachen/htdocs/manual/misc/perf-tuning.html
Index: perf-tuning.html
===================================================================
RCS file: /export/home/cvs/apachen/htdocs/manual/misc/perf-tuning.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- perf-tuning.html 1997/10/25 05:35:43 1.3
+++ perf-tuning.html 1998/01/22 23:11:49 1.4
@@ -415,7 +415,7 @@
But unserialized single-socket showed an extra 100ms latency on
each request. This latency is probably a wash on long haul lines,
and only an issue on LANs. If you want to override the single socket
-serialization you can define <code>SAFE_UNSERIALIZED_ACCEPT</code>
+serialization you can define <code>SINGLE_LISTEN_UNSERIALIZED_ACCEPT</code>
and then single-socket servers will not serialize at all.
<h4>Lingering Close</h4>
@@ -493,8 +493,8 @@
implemented using shared memory. The rest default to using an
on-disk file. The on-disk file is not only slow, but it is unreliable
(and less featured). Peruse the <code>src/main/conf.h</code> file
-for your architecture and look for either <code>HAVE_MMAP</code> or
-<code>HAVE_SHMGET</code>. Defining one of those two enables the
+for your architecture and look for either <code>USE_MMAP_SCOREBOARD</code> or
+<code>USE_SHMGET_SCOREBOARD</code>. Defining one of those two enables the
supplied shared memory code. If your system has another type of
shared memory then edit the file <code>src/main/http_main.c</code> and
add the hooks necessary to use it in Apache. (Send us back a patch
@@ -570,7 +570,7 @@
</pre></blockquote>
These two calls can be removed by defining
-<code>SAFE_UNSERIALIZED_ACCEPT</code> as described earlier.
+<code>SINGLE_LISTEN_UNSERIALIZED_ACCEPT</code> as described earlier.
<p>Notice the <code>SIGUSR1</code> manipulation:
@@ -751,7 +751,7 @@
which were described earlier.
<p>Let's apply some of these optimizations:
-<code>-DSAFE_UNSERIALIZED_ACCEPT -DBUFFERED_LOGS</code> and
+<code>-DSINGLE_LISTEN_UNSERIALIZED_ACCEPT -DBUFFERED_LOGS</code> and
<code>Rule STATUS=no</code>. Here's the final trace:
<blockquote><pre>
1.89 +2 -2 apachen/htdocs/manual/mod/core.html
Index: core.html
===================================================================
RCS file: /export/home/cvs/apachen/htdocs/manual/mod/core.html,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -r1.88 -r1.89
--- core.html 1997/12/22 21:25:10 1.88
+++ core.html 1998/01/22 23:11:51 1.89
@@ -1477,12 +1477,12 @@
Apache 1.2 and above:<p>
-Linux 1.x users might be able to add <code>-DHAVE_SHMGET</code> to
+Linux 1.x users might be able to add <code>-DUSE_SHMGET_SCOREBOARD</code> to
the <code>EXTRA_CFLAGS</code> in your <code>Configuration</code>. This
might work with some 1.x installations, but won't work with all of
them.<p>
-SVR4 users should consider adding <code>-DHAVE_SHMGET</code> to the
+SVR4 users should consider adding <code>-DUSE_SHMGET_SCOREBOARD</code> to the
<code>EXTRA_CFLAGS</code> in your <code>Configuration</code>. This
is believed to work, but we were unable to test it in time for 1.2
release.<p>
1.589 +7 -7 apachen/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apachen/src/CHANGES,v
retrieving revision 1.588
retrieving revision 1.589
diff -u -r1.588 -r1.589
--- CHANGES 1998/01/21 23:59:52 1.588
+++ CHANGES 1998/01/22 23:11:53 1.589
@@ -7,7 +7,7 @@
[Tom Hughes <[EMAIL PROTECTED]>] PR#1082, PR#1282, PR#1499, PR#1553
*) PORT: A/UX can handle single-listen accepts without mutex
- locking, so we add SAFE_UNSERIALIZED_ACCEPT. [Jim Jagielski]
+ locking, so we add SINGLE_LISTEN_UNSERIALIZED_ACCEPT. [Jim Jagielski]
*) When die() happens we need to eat any request body if one exists.
Otherwise we can't continue with a keepalive session. This shows up
@@ -28,8 +28,8 @@
*) PORT: OSF/1 now uses USE_FLOCK_SERIALIZED_ACCEPT to solve PR#467.
The choice of flock vs. fcntl was made based on timings which showed
that
even on non-NFS, non-exported filesystems fcntl() was an order of
- magnitude slower. It also uses SAFE_UNSERIALIZED_ACCEPT so that single
- socket users will see no difference. [Dean Gaudet] PR#467
+ magnitude slower. It also uses SINGLE_LISTEN_UNSERIALIZED_ACCEPT so
+ that single socket users will see no difference. [Dean Gaudet] PR#467
*) "File does not exist" error message was erroneously including the
errno. [Marc Slemko]
@@ -465,7 +465,7 @@
["Pavel Yakovlev (Paul McHacker)" <[EMAIL PROTECTED]>]
*) PORT: All SVR4 systems now use NET_SIZE_T = size_t, and
- use HAVE_SHMGET.
+ use USE_SHMGET_SCOREBOARD.
[Martin Kraemer]
*) Various improvements in detecting config file errors (missing closing
@@ -780,7 +780,7 @@
in the case where only a single socket is open it is sometimes
redundant to serialize accept(). Not all unixes do a good job with
potentially dozens of children blocked on accept() on the same
- socket. It's now possible to define SAFE_UNSERIALIZED_ACCEPT and
+ socket. It's now possible to define SINGLE_LISTEN_UNSERIALIZED_ACCEPT
and
the server will avoid serialization when listening on only one socket,
and use serialization when listening on multiple sockets.
[Dean Gaudet] PR#467
@@ -1640,7 +1640,7 @@
*) Clean up Linux settings in conf.h by detecting 2.x versus 1.x. For
1.x the settings are those of pre-1.2b8. For 2.x we include
- HAVE_SHMGET (scoreboard in shared memory rather than file) and
+ USE_SHMGET_SCOREBOARD (scoreboard in shared memory rather than file) and
HAVE_SYS_RESOURCE_H (enable the RLimit commands).
[Dean Gaudet] PR#336, PR#340
@@ -1706,7 +1706,7 @@
*) Fix typo in command definition of AuthAuthoritative. [Ken Coar] PR #246
- *) Defined HAVE_SHMGET for shared memory on Linux. [Dean Gaudet]
+ *) Defined USE_SHMGET_SCOREBOARD for shared memory on Linux. [Dean Gaudet]
*) Report extra info from errno with many errors that cause httpd to exit.
spawn_child, popenf, and pclosef now have valid errno returns in the
1.18 +48 -24 apachen/src/PORTING
Index: PORTING
===================================================================
RCS file: /export/home/cvs/apachen/src/PORTING,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- PORTING 1997/11/16 16:12:09 1.17
+++ PORTING 1998/01/22 23:11:54 1.18
@@ -29,6 +29,8 @@
attempt this, let the Apache team know (send mail to [EMAIL PROTECTED]
or make a suggestion report at <http://bugs.apache.org/>).
+At present, the Apache source is not compatible with C++.
+
-------------------
The Starting Point:
-------------------
@@ -138,7 +140,7 @@
#undef NO_SETSID
#define HAVE_SYS_SELECT_H
#define JMP_BUF sigjmp_buf
- #define HAVE_MMAP
+ #define USE_MMAP_SCOREBOARD
typedef int rlim_t;
The above lines describe which functions, capabilities and specifics
@@ -174,17 +176,6 @@
HAVE_RESOURCE:
Define if the OS supports the getrlimit()/setrlimit() functions
- HAVE_MMAP:
- Define if the OS supports the BSD mmap() call. This is used by various
- OSs to allow the scoreboard file to be held in shared mmapped-memory
- instead of a real file. Note that this is only used to determine
- if mmap should be used for shared memory.
-
- HAVE_SHMGET:
- Define if the OS has the SysV-based shmget() family of shared-memory
- functions. Used to allow the scoreboard to live in a shared-memory
- slot instead of a real file.
-
HAVE_CRYPT_H:
Define if the OS has the <crypt.h> header file.
@@ -208,6 +199,21 @@
These #defines are used for functions and ability that aren't exactly
required but should be used.
+ USE_MMAP_SCOREBOARD:
+ Define if the OS supports the BSD mmap() call. This is used by various
+ OSs to allow the scoreboard file to be held in shared mmapped-memory
+ instead of a real file. Note that this is only used to determine
+ if mmap should be used for shared memory.
+
+ USE_SHMGET_SCOREBOARD:
+ Define if the OS has the SysV-based shmget() family of shared-memory
+ functions. Used to allow the scoreboard to live in a shared-memory
+ slot instead of a real file.
+
+ <<NOTE: If neither USE_MMAP_SCOREBOARD or USE_SHMGET_SCOREBOARD
+ is defined, a file-based scoreboard will be used and
+ SCOREBOARD_FILE will automatically be defined >>
+
USE_LONGJMP:
Define to use the longjmp() call instead of siglongjmp()
(as well as setjmp() instead of sigsetjmp()).
@@ -244,7 +250,11 @@
USE_PTHREAD_SERIALIZED_ACCEPT:
Use POSIX mutexes to implement the semaphore.
- SAFE_UNSERIALIZED_ACCEPT:
+ << NOTE: If none of the above USE_*SERIALIZED_ACCEPTs are
+ defined, NO_SERIALIZED_ACCEPT will automatically
+ be defined if MULTITHREAD is not defined >>
+
+ SINGLE_LISTEN_UNSERIALIZED_ACCEPT:
It's safe to unserialize single-socket accept().
--
@@ -254,24 +264,48 @@
we should not use it.
NO_UNISTD_H:
+
NO_KILLPG:
+
NO_SETSID:
+
NO_USE_SIGACTION:
Do not use the sigaction() call, even if we have it.
+
NO_LINGCLOSE:
Do not use Apache's soft, "lingering" close feature to
terminate connections.
+
NO_SLACK:
Do not use the "slack" fd feature which requires a working fcntl
F_DUPFD.
+
NO_GETTIMEOFDAY:
OS does not have the gettimeofday() function (which is
- BSDish). This assumes it has times() instead.
+ BSDish).
+
+ NO_TIMES:
+ OS does not have the times() function.
+
+ NO_OTHER_CHILD:
+ Do not implement the register_other_child API, usually because
+ certain system calls aren't available.
+
+ NO_RELIABLE_PIPED_LOGS:
+ Do not use reliable piped logs, which happen to also require
+ the register_other_child API. The reliable piped log code
+ requires another child spawning interface which hasn't been
+ generalised yet.
+
--
MISC #DEFINES:
Various other #defines used in the code.
+ MULTITHREAD:
+ Defined if the OS is multi-threaded. Valid only on
+ Win32 at present.
+
JMP_BUF:
The variable-type for siglongjmp() or longjmp() call.
@@ -283,16 +317,6 @@
Some functions such as accept(), getsockname(), getpeername() take
an int *len on some architectures and a size_t *len on others.
If left undefined apache will default it to int.
-
- NO_OTHER_CHILD:
- Do not implement the register_other_child API, usually because
- certain system calls aren't available.
-
- NO_RELIABLE_PIPED_LOGS:
- Do not use reliable piped logs, which happen to also require
- the register_other_child API. The reliable piped log code
- requires another child spawning interface which hasn't been
- generalised yet.
-----------
Conclusion:
1.174 +31 -31 apachen/src/main/conf.h
Index: conf.h
===================================================================
RCS file: /export/home/cvs/apachen/src/main/conf.h,v
retrieving revision 1.173
retrieving revision 1.174
diff -u -r1.173 -r1.174
--- conf.h 1998/01/21 23:59:56 1.173
+++ conf.h 1998/01/22 23:11:57 1.174
@@ -95,7 +95,7 @@
#define NO_SETSID
#define NO_KILLPG
#define NO_WRITEV
-#define HAVE_SHMGET
+#define USE_SHMGET_SCOREBOARD
#define SHM_R 0400 /* Read permission */
#define SHM_W 0200 /* Write permission */
#define NEED_INITGROUPS
@@ -119,7 +119,7 @@
#undef NO_SETSID
char *crypt(const char *pw, const char *salt);
char *mktemp(char *template);
-#define HAVE_MMAP
+#define USE_MMAP_SCOREBOARD
#define USE_MMAP_FILES
#include <sys/time.h>
#define NEED_STRERROR
@@ -145,7 +145,7 @@
#endif
#endif
#define NEED_UNION_SEMUN
-#define HAVE_MMAP
+#define USE_MMAP_SCOREBOARD
#define USE_MMAP_FILES
#define HAVE_CRYPT_H
int gethostname(char *name, int namelen);
@@ -160,7 +160,7 @@
#if !defined(USE_FCNTL_SERIALIZED_ACCEPT) &&
!defined(USE_USLOCK_SERIALIZED_ACCEPT)
#define USE_SYSVSEM_SERIALIZED_ACCEPT
#endif
-#define HAVE_SHMGET
+#define USE_SHMGET_SCOREBOARD
#define USE_MMAP_FILES
#define HAVE_CRYPT_H
#define NO_LONG_DOUBLE
@@ -176,7 +176,7 @@
#ifndef _HIUX_SOURCE
#define _HIUX_SOURCE
#endif
-#define HAVE_SHMGET
+#define USE_SHMGET_SCOREBOARD
#define SELECT_NEEDS_CAST
#define HAVE_SYSLOG
@@ -189,7 +189,7 @@
#ifndef _HPUX_SOURCE
#define _HPUX_SOURCE
#endif
-#define HAVE_SHMGET
+#define USE_SHMGET_SCOREBOARD
#define HAVE_SYSLOG
#ifndef HPUX10
#define SELECT_NEEDS_CAST
@@ -202,7 +202,7 @@
#undef NO_SETSID
#define HAVE_SYS_SELECT_H
#ifndef __ps2__
-#define HAVE_MMAP
+#define USE_MMAP_SCOREBOARD
#define USE_MMAP_FILES
#define HAVE_SYSLOG
#ifndef DEFAULT_GROUP
@@ -235,19 +235,19 @@
#define HAVE_GMTOFF
#undef NO_KILLPG
#undef NO_SETSID
-#define HAVE_MMAP
+#define USE_MMAP_SCOREBOARD
#define USE_MMAP_FILES
#define HAVE_CRYPT_H
#define NO_LONG_DOUBLE
#define HAVE_SYSLOG
#define USE_FLOCK_SERIALIZED_ACCEPT
-#define SAFE_UNSERIALIZED_ACCEPT
+#define SINGLE_LISTEN_UNSERIALIZED_ACCEPT
#elif defined(PARAGON)
#define HAVE_GMTOFF
#undef NO_KILLPG
#undef NO_SETSID
-#define HAVE_MMAP
+#define USE_MMAP_SCOREBOARD
#define USE_MMAP_FILES
#define HAVE_CRYPT_H
#define NO_LONG_DOUBLE
@@ -351,7 +351,7 @@
#define NET_SIZE_T socklen_t
#endif
-#define HAVE_SHMGET
+#define USE_SHMGET_SCOREBOARD
#define USE_MMAP_FILES
#define HAVE_SYS_RESOURCE_H
@@ -388,7 +388,7 @@
#define SIGURG SIGUSR1
#define HAVE_SYS_SELECT_H
#define USE_FCNTL_SERIALIZED_ACCEPT
-#define HAVE_MMAP
+#define USE_MMAP_SCOREBOARD
#define USE_MMAP_FILES
#define HAVE_SYS_RESOURCE_H
#define SecureWare
@@ -420,8 +420,8 @@
#define NEED_STRDUP
/* fcntl() locking is expensive with NFS */
#define USE_FLOCK_SERIALIZED_ACCEPT
-#define SAFE_UNSERIALIZED_ACCEPT
-#define HAVE_SHMGET
+#define SINGLE_LISTEN_UNSERIALIZED_ACCEPT
+#define USE_SHMGET_SCOREBOARD
/*
* NOTE: If when you run Apache under A/UX and you get a warning
* that httpd couldn't move break, then the below value for
@@ -449,11 +449,11 @@
#endif
#define HAVE_SYSLOG
#define NET_SIZE_T size_t
-#define HAVE_SHMGET
+#define USE_SHMGET_SCOREBOARD
#ifdef _OSD_POSIX /* BS2000-POSIX mainframe does not have syslog and needs
initgroups */
#define NEED_INITGROUPS
#undef HAVE_SYSLOG
-#undef HAVE_SHMGET
+#undef USE_SHMGET_SCOREBOARD
#endif /*_OSD_POSIX*/
#elif defined(UW)
@@ -465,9 +465,9 @@
#define NEED_STRNCASECMP
#define bzero(a,b) memset(a,0,b)
#define HAVE_RESOURCE
-#define HAVE_MMAP
+#define USE_MMAP_SCOREBOARD
#define USE_MMAP_FILES
-#define HAVE_SHMGET
+#define USE_SHMGET_SCOREBOARD
#define HAVE_CRYPT_H
#define HAVE_SYS_SELECT_H
#define HAVE_SYS_RESOURCE_H
@@ -531,7 +531,7 @@
#define HAVE_GMTOFF
#undef NO_KILLPG
#undef NO_SETSID
-#define HAVE_MMAP
+#define USE_MMAP_SCOREBOARD
#define USE_MMAP_FILES
#ifndef DEFAULT_USER
#define DEFAULT_USER "nobody"
@@ -563,14 +563,14 @@
#define NEED_PROCESS_H
#define HAVE_SYS_SELECT_H
#include <unix.h>
-#define HAVE_MMAP
+#define USE_MMAP_SCOREBOARD
#define HAVE_SYSLOG
#elif defined(LYNXOS)
#undef HAVE_GMTOFF
#define HAVE_RESOURCE
-#undef HAVE_MMAP
-#undef HAVE_SHMGET
+#undef USE_MMAP_SCOREBOARD
+#undef USE_SHMGET_SCOREBOARD
#undef HAVE_CRYPT_H
#undef HAVE_SYS_SELECT_H
#define HAVE_SYS_RESOURCE_H
@@ -598,7 +598,7 @@
#define HAVE_RESOURCE 1
#define bzero(a,b) memset(a,0,b)
#define USE_FCNTL_SERIALIZED_ACCEPT
-#define HAVE_MMAP
+#define USE_MMAP_SCOREBOARD
#define USE_MMAP_FILES
#define HAVE_CRYPT_H
#define HAVE_SYSLOG
@@ -614,7 +614,7 @@
#define chdir _chdir2
#include <sys/time.h>
#define MAXSOCKETS 4096
-#define HAVE_MMAP
+#define USE_MMAP_SCOREBOARD
#define NO_RELIABLE_PIPED_LOGS
#elif defined(__MACHTEN__)
@@ -632,7 +632,7 @@
#define USE_LONGJMP
#undef NEED_STRDUP
#else
-#define HAVE_SHMGET
+#define USE_SHMGET_SCOREBOARD
#define USE_FCNTL_SERIALIZED_ACCEPT
#endif
@@ -642,7 +642,7 @@
#undef NO_KILLPG
#undef NO_SETSID
#undef NEED_STRDUP
-#define HAVE_MMAP
+#define USE_MMAP_SCOREBOARD
#define USE_MMAP_FILES
#define HAVE_SYSLOG
@@ -655,14 +655,14 @@
#include <net/errno.h>
#define NO_KILLPG
#undef NO_SETSID
-#define HAVE_SHMGET
+#define USE_SHMGET_SCOREBOARD
#define SIGURG SIGUSR1
#define USE_FCNTL_SERIALIZED_ACCEPT
#define HAVE_SYSLOG
#elif defined(NEWSOS)
#define HAVE_SYS_RESOURCE_H
-#define HAVE_SHMGET
+#define USE_SHMGET_SCOREBOARD
#define USE_LONGJMP
#define NO_SETSID
#define NO_USE_SIGACTION
@@ -853,7 +853,7 @@
int setrlimit(int, struct rlimit *);
#endif
#endif
-#ifdef HAVE_MMAP
+#ifdef USE_MMAP_SCOREBOARD
#if !defined(__EMX__) && !defined(WIN32)
/* This file is not needed for OS/2 */
#include <sys/mman.h>
@@ -863,8 +863,8 @@
#define MAP_ANON MAP_ANONYMOUS
#endif
-#if defined(HAVE_MMAP) && defined(NO_MMAP)
-#undef HAVE_MMAP
+#if defined(USE_MMAP_SCOREBOARD) && defined(NO_MMAP)
+#undef USE_MMAP_SCOREBOARD
#endif
#ifndef LOGNAME_MAX
1.272 +19 -19 apachen/src/main/http_main.c
Index: http_main.c
===================================================================
RCS file: /export/home/cvs/apachen/src/main/http_main.c,v
retrieving revision 1.271
retrieving revision 1.272
diff -u -r1.271 -r1.272
--- http_main.c 1998/01/21 23:59:58 1.271
+++ http_main.c 1998/01/22 23:11:58 1.272
@@ -88,7 +88,7 @@
#include "scoreboard.h"
#include "multithread.h"
#include <sys/stat.h>
-#ifdef HAVE_SHMGET
+#ifdef USE_SHMGET_SCOREBOARD
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
@@ -155,7 +155,7 @@
#ifdef __EMX__
/* Add MMAP style functionality to OS/2 */
-#ifdef HAVE_MMAP
+#ifdef USE_MMAP_SCOREBOARD
#define INCL_DOSMEMMGR
#include <os2.h>
#include <umalloc.h>
@@ -748,12 +748,12 @@
#endif
#endif
-/* On some architectures it's safe to do unserialized accept()s in the
- * single Listen case. But it's never safe to do it in the case where
- * there's multiple Listen statements. Define SAFE_UNSERIALIZED_ACCEPT
+/* On some architectures it's safe to do unserialized accept()s in the single
+ * Listen case. But it's never safe to do it in the case where there's
+ * multiple Listen statements. Define SINGLE_LISTEN_UNSERIALIZED_ACCEPT
* when it's safe in the single Listen case.
*/
-#ifdef SAFE_UNSERIALIZED_ACCEPT
+#ifdef SINGLE_LISTEN_UNSERIALIZED_ACCEPT
#define SAFE_ACCEPT(stmt) do {if(listeners->next != listeners) {stmt;}}
while(0)
#else
#define SAFE_ACCEPT(stmt) do {stmt;} while(0)
@@ -1310,8 +1310,8 @@
* malloc. But let the routines that follow, think that you have
* shared memory (so they use memcpy etc.)
*/
-#undef HAVE_MMAP
-#define HAVE_MMAP 1
+#undef USE_MMAP_SCOREBOARD
+#define USE_MMAP_SCOREBOARD 1
void reinit_scoreboard(pool *p)
{
@@ -1333,7 +1333,7 @@
#else /* MULTITHREAD */
-#if defined(HAVE_MMAP)
+#if defined(USE_MMAP_SCOREBOARD)
#ifdef QNX
static void cleanup_shared_mem(void *d)
@@ -1384,7 +1384,7 @@
* this #ifdef section must be ABOVE the next one (BSD style).
*
* I tested this stuff and it works fine for me, but if it provides
- * trouble for you, just comment out HAVE_MMAP in QNX section of conf.h
+ * trouble for you, just comment out USE_MMAP_SCOREBOARD in QNX section of
conf.h
*
* June 5, 1997,
* Igor N. Kovalenko -- [EMAIL PROTECTED]
@@ -1462,7 +1462,7 @@
scoreboard_image->global.exit_generation = 0;
}
-#elif defined(HAVE_SHMGET)
+#elif defined(USE_SHMGET_SCOREBOARD)
static key_t shmkey = IPC_PRIVATE;
static int shmid = -1;
@@ -1639,7 +1639,7 @@
}
#else
#ifdef __EMX__
-#ifdef HAVE_MMAP
+#ifdef USE_MMAP_SCOREBOARD
caddr_t m;
int rc;
@@ -2803,11 +2803,11 @@
#ifdef HTTPD_ROOT
printf(" -D HTTPD_ROOT=\"" HTTPD_ROOT "\"\n");
#endif
-#ifdef HAVE_MMAP
- printf(" -D HAVE_MMAP\n");
+#ifdef USE_MMAP_SCOREBOARD
+ printf(" -D USE_MMAP_SCOREBOARD\n");
#endif
-#ifdef HAVE_SHMGET
- printf(" -D HAVE_SHMGET\n");
+#ifdef USE_SHMGET_SCOREBOARD
+ printf(" -D USE_SHMGET_SCOREBOARD\n");
#endif
#ifdef USE_MMAP_FILES
printf(" -D USE_MMAP_FILES\n");
@@ -2836,8 +2836,8 @@
#ifdef USE_PTHREAD_SERIALIZED_ACCEPT
printf(" -D USE_PTHREAD_SERIALIZED_ACCEPT\n");
#endif
-#ifdef SAFE_UNSERIALIZED_ACCEPT
- printf(" -D SAFE_UNSERIALIZED_ACCEPT\n");
+#ifdef SINGLE_LISTEN_UNSERIALIZED_ACCEPT
+ printf(" -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT\n");
#endif
#ifdef NO_OTHER_CHILD
printf(" -D NO_OTHER_CHILD\n");
@@ -3803,7 +3803,7 @@
}
#ifdef __EMX__
-#ifdef HAVE_MMAP
+#ifdef USE_MMAP_SCOREBOARD
/* The next two routines are used to access shared memory under OS/2. */
/* This requires EMX v09c to be installed. */
1.175 +2 -1 apachen/src/main/httpd.h
Index: httpd.h
===================================================================
RCS file: /export/home/cvs/apachen/src/main/httpd.h,v
retrieving revision 1.174
retrieving revision 1.175
diff -u -r1.174 -r1.175
--- httpd.h 1998/01/21 19:17:40 1.174
+++ httpd.h 1998/01/22 23:11:59 1.175
@@ -922,7 +922,8 @@
/* The optimized timeout code only works if we're not MULTITHREAD and we're
* also not using a scoreboard file
*/
-#if !defined (MULTITHREAD) && (defined (HAVE_MMAP) || defined (HAVE_SHMGET))
+#if !defined (MULTITHREAD) &&
+ (defined (USE_MMAP_SCOREBOARD) || defined (USE_SHMGET_SCOREBOARD))
#define OPTIMIZE_TIMEOUTS
#endif
1.10 +1 -1 apachen/src/os/win32/os.h
Index: os.h
===================================================================
RCS file: /export/home/cvs/apachen/src/os/win32/os.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- os.h 1997/12/26 15:08:14 1.9
+++ os.h 1998/01/22 23:12:04 1.10
@@ -25,7 +25,7 @@
#define NO_GETTIMEOFDAY
//#define NEED_PROCESS_H although we do, this is specially handled in
conf.h
#define USE_LONGJMP
-#define HAVE_MMAP
+#define USE_MMAP_SCOREBOARD
#define MULTITHREAD
#define HAVE_CANONICAL_FILENAME
typedef int uid_t;
1.7 +3 -3 apachen/src/test/time-sem.c
Index: time-sem.c
===================================================================
RCS file: /export/home/cvs/apachen/src/test/time-sem.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- time-sem.c 1998/01/10 08:08:45 1.6
+++ time-sem.c 1998/01/22 23:12:06 1.7
@@ -18,8 +18,8 @@
child death. You'll also need to define NEED_UNION_SEMUN
under solaris.
-You'll need to define HAVE_SHMGET if anonymous shared mmap() doesn't
-work on your system (i.e. linux).
+You'll need to define USE_SHMGET_SCOREBOARD if anonymous shared mmap()
+doesn't work on your system (i.e. linux).
argv[1] is the #children, argv[2] is the #iterations per child
@@ -400,7 +400,7 @@
#endif
-#ifndef HAVE_SHMGET
+#ifndef USE_SHMGET_SCOREBOARD
static void *get_shared_mem(size_t size)
{
void *result;