httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <>
Subject [overhaul] Win32 services 2.0
Date Wed, 31 May 2000 05:38:55 GMT
> If anyone with cvs access will create copies (with history)
> of the existing files I've listed below... I'll put it in the 
> tree as an experimental implementation for a week or so...

Or teach me how... but in the meantime,

Some is in patch format (winnt.c), some isn't even diffed 
(winnt.h, service.c, registry.c), but here's the new Win32
service code, 1st draft.  It will be the end of the week
before I'm 100% on it... but here it is for those who wish
to bash (on) it :0*  I'll tell you right now error handling
stinks to high heaven (bad choices for messages and pools)
and several service related WaitForSingle's need to be on

But this is so major, before I waste another second, I want
to put it out there for some initial feedback.  It should
(under NT alone) -k install, -k uninstall, -k start, and
the SCM should allow you to start and stop (stop is buggy
right now... a thread dies too soon, but I'm not positive
which one...)  Oh, and it simply runs if you ask it to, but
you will discover it REALLY wants to grab the default service
args (Apache, of course).  I'd like to set it up to allow a
manual service install (won't start on bootup), so these args
can be coded in.  -k reconfig might be cool as well (dump the
default args, add the command line args as the new default.)

If it were in the repository, someone with some free time could 
start bashing the 9x half, or clean errors, or whatever :-)
But it is nowhere near ready to replace what we got.


To try this out... drop in the patched http_main.c and use 
that http_main.c alone in Apache.dsp.  No other sources!

Drop service.c, registry.c and the patched winnt.c all into
the normal modules/mpm/winnt directory, along with the new
winnt.h file (contains declarations for all three sources).
You will need to add User32.lib for the window threads.
Add that all to ApacheCore.dsp and fly.

View raw message