[freenet-dev] [freenet-cvs] r17081 - trunk/freenet/src/freenet/io/comm
Robert Hailey
robert at freenetproject.org
Thu Jan 17 16:00:35 UTC 2008
On Jan 17, 2008, at 6:36 AM, Matthew Toseland wrote:
> On Wednesday 16 January 2008 21:59, robert at freenetproject.org wrote:
>> Author: robert
>> Date: 2008-01-16 21:59:55 +0000 (Wed, 16 Jan 2008)
>> New Revision: 17081
>>
>> Modified:
>> trunk/freenet/src/freenet/io/comm/MessageCore.java
>> trunk/freenet/src/freenet/io/comm/MessageFilter.java
>> Log:
>> correctness: don't rely on every message filter setting a source
>
> Both this and the original code are wrong with regards to
> disconnections/reconnections. MessageCore gets a callback when a
> connection
> is disconnected or restarted. We check the filters list to see if this
> affects any of our waiting filters, and if it does we trigger them.
> In order
> to prevent a race condition, we check for disconnection before
> adding them to
> the _filters list. We should check droppedConnection() at the end of
> addAsyncFilter() but we don't. All of this assumes there is one
> connection
> per filter. There are places in the code where this assumption is
> incorrect.
> We should either make it work with multiple connections per filter,
> or we
> should document and enforce the fact that it only works with one
> connection
> per filter.
>
> Obviously I prefer the latter. I apologise for implementing it
> myself but it
> was rather convoluted - by the time I'd figured out what was going
> on I'd
> done it. :)
I don't mind at all. SVN provides mutual exclusion, and I like your
fix better ;)
--
Robert Hailey
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://emu.freenetproject.org/pipermail/devl/attachments/20080117/a8dd56d7/attachment.htm
More information about the Devl
mailing list