On Tue, 2004-06-08 at 10:23 -0400, Greg Ames wrote:
Here is the patch - http://apache.org/~gregames/event.patch .
Very Neat :D
thanks!
I don't think everyone on this list is aware of this, but I have an outstanding patch[1] for apr_pollset to add both KQueue and sys_epoll backends. Hopefully this will get committed soon.
excellent. My Apache time recently has been spent pretty much heads down getting event.patch ready to post so I missed it - sorry. Thanks for the pointer.
Other issues are described at http://apache.org/~gregames/event.laundry_list .
Mentioned on that laundry list is adding to the pollset from another
thread. I believe this is supported by both KQueue and sys_epoll. I
guess it could be easily supported with some #ifdefs.
sounds good. This is the first I've heard that KQueue could do it. Adding connections to the timeout list complicates things though. Now all the timeout list operations are done on the event thread so they are serialized for free.
From: http://apache.org/~gregames/event.laundry_list
Should new connections be passed to the event_thread to test for readability? It's good if there are long delays before the first data
packet is processed; if there is no delay, it's extra complexity and
wasted cycles. The thread switches could be minimized if the event
thread and listener were merged.
I like the general idea, but as a note, FreeBSD has accept filters which already do some of this.
yep, and Win32 has AcceptEx.
I think having the Event Thread also handle the Accept() would be the best method in the long run.
I think so too long term. Short term, getting it in shape to do benchmarking seems more important.
Thanks much for taking the time to review this and for the feedback. Greg