httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <>
Subject RE: cvs commit: apache-1.3/src/os/win32 service.c service.h
Date Wed, 22 Nov 2000 05:06:54 GMT
Update... NT4 (SP6) and Win2K (SP1) are both tested...

only Win2K exhibits any trouble, and then only on logout and shutdown
when running in a console window.  Error is 0xC0000142, "application failed
to initialize properly".  My gut instinct suggests that Win2K is not obeying
the shutdown weight, so the child is terminated, the parent starts to restart
the child, as it shuts itself down.  Although an odd thread could cause this,
and so could a loose .dll handle, those would not explain why the close 
button works correctly (since close==logout==shutdown in our implementation).

I'll wrap that out and attack 9x tommorow, at least to be sure the 16 bit
CGI's work again.  There may or may not be a way to deal with the user logout
when running a service under 9x, so we may simply let the child process die 
every time a win9x user logs out, and let the parent respawn it again.  Better
that than killing the console and trying to resurrect it.

When I'm done, Andrew Braund is oz already replied that he's ready to hack 
at it.  Since the only bit we missed in 1.3.13/.14 were 16-bit CGIs, and we
now know what we are looking for, I'm betting that odds are good we get this

Amusing footnote for win32 console hackers ... spawning a 32 bit app passes 
the comspec, etc, to the child's environment.  Spawning a 16 bit app forces
the kernel to rewrite the args in short file name notation for things like
the path, and changes the comspec to (the 16-bit thunk) under
WinNT(2K).  Interesting that the kernel somewhat adaptable, even while it
refuses to do exactly what we ask :-)

> wrowe       00/11/21 18:46:29
>   Modified:    src/main http_main.c
>                src/os/win32 service.c service.h
>   Log:
>     Complete the WinNT 4.0 compatibility as a service and console app, with
>     proper handling in the parent and child of close window, ctrl+c/break,
>     and logoff/shutdown events, they all work properly.  This will be tested
>     shortly on Win2000, where it is expected to work without incident.  Note
>     that any console event handler in a child or the service parent
>     interfered with these various events, so only the console parent process
>     has a console monitor, while the child process always has a console
>     (without a handler) to execute 16-bit CGI processes.

View raw message