[EMAIL PROTECTED] wrote:
> 
> I now have a patch that compiles cleanly, and should completely
> remove the pipe_of_death.  The basic idea is that everything is
> done through signals, using the SIGWAIT logic.  As for waking
> threads up from apr_poll, that is done by connecting to the socket
> from the server itself, and then immediately closing the socket.

Ugh.  Ick.  -1.  If the system's stack is hosed, or the network
is being shut down (think OS/390), this can cause problems.  Or
think of a protocol module that is not even talking to the network,
but is doing some other kind of job.  Never send your control
functions over the data channel; they need to be out of band from
the data.

We got away from the 1.3 signal module for well-known reasons.
The pipe_of_death is cross-platform safe and provides the necessary
granularity, but interferes with SINGLE_LISTEN_UNSERIALIZED_ACCEPT.
Any replacement for pipe_of_death must not introduce any regressions;
using the data channel will do so for the reasons stated above.
Some other mechanism may have the advantages of pipe_of_death
without its drawbacks, but this is not it.
-- 
#ken    P-)}

Ken Coar                    <http://Golux.Com/coar/>
Apache Software Foundation  <http://www.apache.org/>
"Apache Server for Dummies" <http://Apache-Server.Com/>
"Apache Server Unleashed"   <http://ApacheUnleashed.Com/>

Reply via email to