httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <wr...@rowe-clan.net>
Subject The ?last? 1.3.15/Win32 discrepancy
Date Wed, 20 Dec 2000 01:23:02 GMT

With the last several commits, the Win32 build system is much cleaner,
and produces results far similar to make install on Unix.  It's all
done with awk (except the hairy .dsp converters, which could also be
rewritten, but not tonight :-)

Win32's behavior is similar in almost every respect.  There is only
one compatibility feature I'd like to implement tommorow morning, and
it requires a little bit of thought...

Unix admins just drop the /usr/local/apache/bin/httpd command in their
startup script for boot time startup.  Win32 admins install Apache
with the -k install -n servicename [or the old -i -n servicename].

The difference is in boot-time options.  Win32 doesn't have any.  Now
it's possible to simply patch http_main.c to accept --ntservice followed
by arguments, but that entry in the registry is a pain to get at.

I'm considering changing our registry entry.  Today, we store in:

HKLM/System/CurrentControlSet/Services/[ApacheName]/Parameters

the ConfPath value, of the .conf file location.  I'm suggesting we take
my initial approach from Apache 2.0, and store the ConfigArgs value 
instead, a multi-sz string of null terminated args plus the extra null 
terminator at the end of the args list.

Now... I didn't like my 2.0 solution for one reason, and I think I've
got the solution for both.  Setting up the ConfigArgs is a breeze, it
consists of the parameters passed along with -k install -n servicename.

To edit the ConfigArgs would have been a PITA.  But I'm proposing a new
-k config[ure] -n servicename option that replaces the Service's old
ConfigArgs with whatever other args are passed on that command line.

This has also presented a problem (even <= 1.3.14) since the user doesn't
have easy access to those arguments (or the old ConfPath value).  I'm
also proposing the syntax -k status -n servicename that would give the
user three bits of info; apache version, current status (running, stopped),
and the startup options.

Please ack if this does or doesn't sound like the sane way to accomodate 
the discrepancy between Unix and Win32.  Patch available tommorow a.m for
both 1.3.15 and 2.0, if we have no issues with the concept.

Bill



Mime
View raw message