Plüm, Rüdiger, VF-Group wrote:
-----Ursprüngliche Nachricht-----
Von: Mladen Turk Gesendet: Donnerstag, 5. Februar 2009 06:36
An: [email protected]
Betreff: Re: new watchdog module

Ruediger Pluem wrote:
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?)
This seems to be a very valid concern to me. Plus in the
parent it runs with root
privileges and we should minimize the code that runs with
these privileges, even
more so as an author of code that uses the watchdog may not
really be aware that
its code is running under root (in contrast to people who
develop modules like
mod_unixd and mod_privileges).

The parent process watchdog is supposed to be used only for core
features that affect all children's and can be done without
requiring graceful restart.

Why can these tasks not be performed by a dedicated child?


The simplest one would be graceful restart.
Child processing the requests would set some shared
memory flag and parent watchdog thread could be
used to monitor the shared memory field status,
and signal the mpm to do a graceful restart.


Making the module running as root is very easy and
average 'Joe the Developer' can already use such a feature
with or without this option.

That was not my point. The current ways for a developer to do this
IMHO point him more obviously to the fact that his code is running
under root than the watchdog API would do.


Well, I don't under estimate module developers.
This is just an helper API, and it makes things more
robust at the end.


Regards
--
^(TM)

Reply via email to