On Thu, 17 Mar 2005, Steven Wilton wrote:
> Actually.. How is the fwdCheckDefer function meant to slow this down?
See the first part of comm_poll/select.
A quick fix for epoll or other event driven loops is to defer calling the 
defer handler until activity is indicated on the fd. If the defer handler 
then indicates the connection should be paused then take the fd out of the 
read event handling and place it in a low priority queue processed before 
waiting for new events. Note: remember to remove the fd from this queue on 
fd_close.
The proper way is to redesign defer handling to be a two-way 
communication, allowing the action which resolves the defer condition 
(i.e. store client reading data, delay pools refilling etc) to kick the 
connection alive again if possible, but this requires a somewhat bigger 
redesign of things.
Regards
Henrik
Received on Thu Mar 17 2005 - 13:52:37 MST
This archive was generated by hypermail pre-2.1.9 : Fri Apr 01 2005 - 12:00:04 MST