> > On Thu, Jun 06, 2002 at 04:44:15PM -0700, Brian Pane wrote: > > > Fair enough; I'll commit the -k patch. If the goal is to encourage > > thinking > > > about other potential MPMs, though, then IMHO the right solution is > to > > > add an > > > empty "server/mpm/experimental/event-loop" directory :-) > > > > I'd *love* to see progress on something like this, but whenver I start > > thinking about this kind of a MPM I run into the problem where > brigades > > (or filter chains) can't be multiplexed over. Is this what you have > > in mind? (Let's get a discussion going.) > > I keep meaning to write a demo event-loop MPM, but I haven't had time. > Then I keep running into how to jump out of a request and then back into > the middle of it.
You don't jump back "into the middle" of a request in the normal case. When your socket I/O returns ewouldblock, you need to unwind the filter stack and save state in a context. When that i/o is ready to be resumed, you need to recover the context you saved (keyed to the socket for instance) and reinvoke the filter chain. You can optionally save a reentry function pointer in your context to call thought this gets a bit nastier. Bill
