On 01/20/2013 04:09 PM, Amos Jeffries wrote: > Hi Alex, > could you clarify the situation you mention in > http://bugs.squid-cache.org/show_bug.cgi?id=3111 please? > > You said there that ConnOpener leaves events scheduled on successful > exit. But, I was of the understanding that we should NOT explicitly > clear and cancel any Calls in ConnOpener()::connected() due to > duplication with the swanSong() actions run after that successful > connect Call ended?
The current ConnOpener leaves a fd_table[].timeout set under some conditions. That field is not a callback or an event, it is a time value. It has to be cleared because it is not associated with ConnOpener (and, I suspect, it may not even be strongly associated with the connection descriptor because we manipulate fd_table[] directly). The changes discussed now on squid-dev will resolve this because we will no longer rely on manipulating raw fd_table[] for timeouts and/or because we will have a single place where the timeout state is correctly cleared. HTH, Alex.
