httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gregg L. Smith" <>
Subject Re: Re: Windows Laundry List pt3, mod_watchdog
Date Fri, 01 Jul 2011 07:10:50 GMT
Hi Mladen,

Ok, I'm just a dumb guy but for me, if it drops to the hard drive (it's built on my platform)
it should at minimum load without crashing the server. I personally have no use for any of
this (watchdog, heartmonitor,heartbeat,lbmethod_heartbeat) that I know of at this time, they
do all seem to be connected though so let those that do have use on Windows get it actually

That said, works may not be correct, but with this code in, it crashes the child every time
the child tries to load the module. Without this code, the module loads and I start seeing
this in my debug log;

[Thu Jun 30 23:15:38.003000 2011] [watchdog:debug] [pid 3428:tid 988] mod_watchdog.c(164):
SingletonWatchdog (_heartmonitor_) running (3428)

Parent PID is 3992, not 3428. When I shut down Apache I do not see any processes laying around
in a zombie state.

There is logs/ as well. Not a great way to get this info but it is there in Windows
and since you are doing something differently for windows, it's another option. How does the
whatever writes that PID file get the parent PID, as of yet still a mystery to me. 

Ok, now since there is zero docs on this module, I am winging it a little. But looking at
the TAKE1 there is only one directive, WatchdogInterval, being "Watchdog interval in seconds,"
not a hard stretch. 

Leaving this Win32 specific code in however, the module will not work for whatever reason.

Bed time.


-----Original Message-----
From: Mladen Turk <>
Date: Fri, 01 Jul 2011 07:26:14 +0200
Subject: Re: Windows Laundry List pt3, mod_watchdog

On 07/01/2011 06:31 AM, Gregg L. Smith wrote:
> Hi folks,
> Well, this is the same chunk of Win32 specific debugging code causing this module to
crash yet again. I remember suggesting it be removed before, now I am a little more adamant
about it because it is really not needed, IMO of course. If you really got to have it there,
please&&  a
> _DEBUG to the #ifdef WIN32.
> This module is needed for heartmonitor (which has it's own problems coming under separate
cover). So, either it crashes on win32 or it works, your choice :-) If your choice is let
it fail, then get rid of it all, heartbeat, heartmonitor, lb_method_heartmonitor&  watchdog
on Windoze. Of course, if there is no improvement on documentation, most of it will go bye
bye come GA anyway, per what is stated in STATUS.
> Attached patch just gets rid of it.

This cannot be omitted.
Getting the parent pid means we we are in the child process, so we must not
init the parent watchdog thread (see 'return OK;')

Parent watchdog thread is windows specific and allows to have a
watchdog registered in parent process since the way how parent
and child cooperate is different then on unixes since there's no
fork() available.

How exactly does it crash? You say
"either it crashes on win32 or it works" with a smiley,
is not very informative.


View raw message