httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Querna <c...@force-elite.com>
Subject Re: new watchdog module
Date Wed, 04 Feb 2009 21:50:13 GMT
Jeff Trawick wrote:
> On Wed, Feb 4, 2009 at 11:09 AM, Mladen Turk <mturk@apache.org 
> <mailto:mturk@apache.org>> wrote:
> 
>     Hi,
> 
>     I would like to commit this module to trunk.
>     It's a watchdog module that creates a worker threads
>     either in parent, child via an API, and it's not for
>     standalone use, but for other module usage like
>     mod_heartbeat, probably mod_jk and others that need
>     maintenance threads.
> 
> 
> It seems scary to me to have the MPM parent on Unix forking children 
> while a separate thread in that same process is running arbitrary code.  
> Surprising problems can crop up when this arbitrary code is in certain 
> states (maybe a mutex gets inherited in held state by the new MPM child?)
> 
> I once had a rather harsh quote on this topic from Ulrich Drepper taped 
> to my office wall amidst TCP/IP diagrams and definitions of C's break 
> and continue in very large print, but sadly it has gone missing. 
> 
> However, I just found another one which should suffice:
> 
> * Ulrich Drepper <drepper@redhat.com <mailto:drepper@redhat.com>> [030910
15:41]:
>> Aidan Van Dyk wrote:
>> 
>> > The particular problem I'm seeing is with syslog_lock.
> 
>> 
>> The standard doesn't guarantee that any functions but exec works after
>> fork in a multi-threaded program.
> 
> That doesn't match the profile of an MPM child process ;)
> 

^^ we have this problem on OSX too -- calling certain carbon APIs 
functions from apache, will cause it to abort() the child.

-Paul


Mime
View raw message