poll optimisation problems

From: Adrian Chadd <adrian@dont-contact.us>
Date: Tue, 30 May 2000 19:28:50 +0800

Benno and I are having some trouble with our optimised poll.
We are trying to rip out the list-walk-and-generate-a-pollfds-array
listwalk before each call to poll() in comm_select. We have it
working, EXCEPT connections hang if we don't tidy up the pollfds
array before calling poll().

The pollfds[] array now will have fd == -1 entries for invalid
entries, and a function - poll_clean_pollfds() is called when
the number of invalid entries grows too high. But unless this
routine is called -before- poll() in comm_select() things
hang, eg:

request reachable website
reply is ok
request unreachable website
hang
request reachable website
hang

..

Now, the code is in the commloops squid sourceforge branch in
src/comm_poll.c . I've tested comm_kqueue.c and it works fine
but nowhere near its full potential just yet ..

-- 
Adrian Chadd			Build a man a fire, and he's warm for the
<adrian@creative.net.au>	rest of the evening. Set a man on fire and
				he's warm for the rest of his life.
Received on Tue May 30 2000 - 05:28:58 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:26 MST