Bill Stoddard [Wed, 19 Apr 2000 22:35:45 +0000 (22:35 +0000)]
Win32: More winnt MPM cleanup. Moved code to queue acceptex completion
contexts to after the worker thread pool is created. Sometime over that
last month or so, we checked something in that tanked performance about 15%.
Ryan Bloom [Mon, 17 Apr 2000 19:57:30 +0000 (19:57 +0000)]
Add a pool to dupfile. There is no reason that when we duplicate a file, we would want to use the same pool for the duplicated file as we used for
the original file. This should solve a problem we were having with
dieing quietly on startup, because we are no longer closing stderr in the
original process and then opening the config file as file descriptor 2.
The original problem report can be found in the message
<20000311232812.A1066@sanguine.linuxcare.com.au>
Bill Stoddard [Mon, 17 Apr 2000 13:56:41 +0000 (13:56 +0000)]
linkwin20.diffs Resolves:
1) Explicit /base: addresses by the following table...
Required sizes are for debug builds. It is assumed that
as we increase the size of aprlib, we will be trimming
the size of ApacheCore, and the 278A0000 base can move down.
2) Make APR consistent with the rest of the API and
not build septypes for debugging (in other words,
roll in the debug symbols as every other module does.)
If we decide we LIKE /pdbtype:septypes... then we
should be using them throughout.
3) Slide the current path specs into /libpath: options
so the library list is more ledgible.
4) Drop all the gui crud from the library list. Everything
listed is referenced, with the following exceptions:
*) don't do anything with msvcrtd/oldnames today.
*) aprlib and ApacheCore have the same list, since functions
may still be moving between them.
*) apache.exe looses networking (it doesn't), while it keeps
advapi, which I don't think it needs, but it could later.
*) add aprlib to ApacheModuleProxy, since it will need it.
*) hang mswsock whereever ws2_32 is invoked. I believe
the most special case was ApacheModuleProxy, which may
become entirely APR. But for today we hang onto both.
5) MAP, MAP, MAP, everything gets a map. I for one have an
untold number of installed OS's and boot mappings, and the
debugger isn't installed to all of them. We gotta be able
to track down those renegade GP faults. (What faults...
I know, it's clean, but I am overly cautious that way.)
6) Set the DEFAULT linkage to be this linkage. Because
"it's a vc thing" the defaults were not all that
useful as a starting point (take, for example, the
joke of linking to the OLE libraries).
Bill Stoddard [Mon, 17 Apr 2000 13:45:42 +0000 (13:45 +0000)]
Updates Makefile.win
1) offers a single execution list, regardless of the CTARGET.
Sans CTARGET, it builds the default (the .exe or .dll).
With CTARGET=CLEAN, it cleans back up.
2) To eliminate the _clean block needed to move the delete
generated headers out of that block. They now get wiped only
on a full NMAKE -f makefile.win clean
3) Also threw in the _installdll cleanup with the full
NMAKE -f makefile.win clean.
4) Added RECURSE=0, the REAL reason this patch is absolutely
necessary. As we start tweaking individual .dsp project files,
we will need to prevent the makefile.win from going nuts.
5) Added a commented-out logresolve make item.
Submitted by: William Rowe
Reviewed by: Bill Stoddard
Ryan Bloom [Sun, 16 Apr 2000 23:28:52 +0000 (23:28 +0000)]
Add back in logic to put the ending container directive in the tree. This
needs to be there until we have a validating tree. Without this, it is
possible for a config file to read:
<Ifmodule mod_foo.c>
some directive
</Limit>
and still be read correctly. When the tree building functions can validate
for us, this should be removed, and there is a comment that says so.
Bill Stoddard [Sat, 15 Apr 2000 19:05:13 +0000 (19:05 +0000)]
Here's my first stab at getting mod_auth_digest working under 2.0
quick change summary:
- moved the random byte generation into APR
This patch adds ap_generate_random_bytes()
- now uses ap_time_t
- compiles and runs on linux
- tested with amaya
still to do:
- test win32 (This will have to be someone with a windows box :-)
I think I did everything correctly. APR_HAS_RANDOM should be defined
on windows and there is a lib/apr/misc/win32/rand.c which is basically
a copy of what mod_auth_digest used to use.
- error handling cleanup
Since there is not currently a usable ap_strerror it is commented out.
win32 error handling is virtually non-existant. I just don't know enough
about win32 to touch this stuff.
Brian
Submitted by: Brian Martin
Reviewed by: Bill Stoddard (very quick review, moving in right direction)
Bill Stoddard [Sat, 15 Apr 2000 17:48:16 +0000 (17:48 +0000)]
Win32:
1. Move the space stripping of physical service names
fix up from Apache 1.3.
2. #include'ing "ap_mpm.h" fixes up an unresolved symbol.
3. Add dependency checking to the CreateService call to ensure TCPIP and
AFP (winsock) is started before Apache.
Submitted by: William Rowe
Reviewed by: Bill Stoddard
Ryan Bloom [Fri, 14 Apr 2000 23:36:12 +0000 (23:36 +0000)]
Add buffered I/O back into APR's file I/O on unix. This code comes from
the OS/2 code, and has been munged to make it compile. This has not been
tested, but unbuffered I/O still works.
Ryan Bloom [Fri, 14 Apr 2000 20:54:25 +0000 (20:54 +0000)]
apr_config.h is a private include file, and shouldn't be used by any
C files outside of APR. ap_signal has been moved to apr.h, so this
include is no longer needed.
Bill Stoddard [Fri, 14 Apr 2000 17:38:14 +0000 (17:38 +0000)]
Allow for the possibility of receiving data regardless of the pipe
error condition or receiving EOF on the pipe read. This patch
assumes that a read returning APR_SUCCESS with 0 bytes read is equivalent
to an EOF.
Submitted by: Dean Gaudet
Reviewed by: Bill Stoddard
Martin Kraemer [Thu, 13 Apr 2000 11:03:20 +0000 (11:03 +0000)]
On all the systems I could get hold of (Solaris, ReliantUNIX, BS2000, SINIX),
SHM_R was always 0400, never 0x400. My assumption is that is usually (always) is.
Feel free to change it to an OS test like this (if your OS differs):
case `uname -s` in
SunOS | POSIX-BC | SINIX-* | ReliantUNIX-* ) # BS2000
AC_DEFINE(SHM_R, 0400, [ ])
AC_DEFINE(SHM_W, 0200, [ ])
;;
*)
AC_DEFINE(SHM_R, 0x400, [ ])
AC_DEFINE(SHM_W, 0x200, [ ])
;;
esac
Ryan Bloom [Thu, 6 Apr 2000 23:53:59 +0000 (23:53 +0000)]
Make the server work without asking for buffered file I/O. This removes
all APR_BUFFERED flags from the server, and it fixes a minor bug in the
ungetchar patch (I forgot a file when comitting).
Bill Stoddard [Wed, 5 Apr 2000 21:37:59 +0000 (21:37 +0000)]
Start to clean up winnt.c a bit. Consolidate several calls to
CreateIoComplationPort into one and isolate it from the Win95/98
code path. Still much to do...
Bill Stoddard [Wed, 5 Apr 2000 17:27:57 +0000 (17:27 +0000)]
Patch to port mod_auth_db to the 2.0 api and also to support
Berlekey DB 3.0. It works for me with both Berkeley DB 3.0.55 and
2.7.7. It should work with version 1 as well but I haven't tested it.
Submitted by: Brian Martin <bmartin@penguincomputing.com>
Reviewed by: Bill Stoddard
Tony Finch [Tue, 4 Apr 2000 17:06:14 +0000 (17:06 +0000)]
FAQ changes related to tidying up historical documents on the web site.
Submitted by: Joshua Slive <slive@finance.commerce.ubc.ca>
Reviewed by: Tony Finch
Bill Stoddard [Mon, 3 Apr 2000 18:40:44 +0000 (18:40 +0000)]
Eliminate apr_win.h and apr_winconfig.h (and the ugly #ifdefs they cause).
Now, apr.h and apr_config.h are generated from apr.hw and apr_config.hw
at build time. At this point, the server will not compile on Windows because
of the recent DSO commits. Fixing those next.
David Reid [Sun, 2 Apr 2000 18:15:00 +0000 (18:15 +0000)]
First pass at mod_so with the new APR dso calls. It builds OK, but as
I can't build any dynamic modules to properly test it with I'll let
others do that! It'll need some work, but I wanted to get code in so
people can start hacking it around :)
Ryan Bloom [Thu, 30 Mar 2000 23:39:58 +0000 (23:39 +0000)]
Remove a trailing slash from library.mk. This slash was causing problems
on non-GNU make systems
PR: 20
Submitted by: Mike Abbott <mja@sgi.com>
Reviewed by: Ryan Bloom
Ryan Bloom [Thu, 30 Mar 2000 22:16:37 +0000 (22:16 +0000)]
An initial implementation for the mpmt_pthread mod_status API. Again,
this is a working implementation, but it is almost definately not a
complete implementation.
Ryan Bloom [Thu, 30 Mar 2000 21:50:20 +0000 (21:50 +0000)]
Fix the generation of the apaci script, so it has valid permissions after
running config.status
Submitted by: Brian Martin <bmartin@penguincomputing.com>
Reviewed by: Ryan Bloom
Ryan Bloom [Thu, 30 Mar 2000 20:51:23 +0000 (20:51 +0000)]
A very first shot at implementing the status API for the prefork mpm.
This is without a doubt a bad implementation, but it works, and the
server compiles with mod_status enabled.