On Tue, 2002-09-24 at 21:43, William A. Rowe, Jr. wrote: > The thought is, if we call pass_brigade or read_brigade in a > non-blocking mode, and nothing can be processed, we get back > a bucket containing a pollset of some sort (either multiple handles > assembled by all the intervening filters, or multiple pollfd items > each in their own bucket, each appended by the read.) > > It would then be possible to assemble a pollset for CGI processing, > dealing with all of the intervening filters.
Where would you poll the pollset? If the poll is in the handler, there's still a risk of deadlock when the handler passes data to the output filter stack (specifically, there's a risk of deadlock in the C-L filter). But if the poll is in the filters, it will be difficult to get the right code invoked when a pollfd is signaled (because the necessary code might be in a completely different filter). Brian
