[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/>