I've got a patch available at:
http://netizen.com.au/~benno/squid-select.tar.gz
which massively tidies up comm_select.c.
Basically it moves all the functions that the select loop wants to call
out of comm_select.c into comm.c, and all the functions that are
required to implement the select loop into comm_select.c. Then I copied
comm_select.c to comm_poll.c, and proceed to make sure that only stuff
relevent to the select()-based implementation was in comm_select.c, and
only poll()-related stuff went into comm_poll.c. I also added the
beginnings of an implementation based around FreeBSD 5-CURRENT's
kqueue()/kevent() syscalls.
I've also set up configure so that it'll pick an implementation and link
that implementation in.
Comments, etc appreciated. =)
PS:
I came across two instances where read handlers were treating their fd_table
read data as a pointer to an int and attempting to increment it, even
though NULL was passed, or somesuch. Either way, it was causing a seg
fault, so I commented it out for the time being. =)
-- Benno Rice "No, no. We're *sweet* and XNFP Aries Dark Subculture- *innocent* evil bastards." friendly Internet Geek benno@netizen.com.au "Defend your joy"Received on Thu May 04 2000 - 04:48:10 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:25 MST