RE: Memory usage fix (patch)

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Thu, 17 Mar 2005 21:52:36 +0100 (CET)

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