On Jan 11, 2008, at 4:06 PM, Matthew Toseland wrote:

> On Wednesday 09 January 2008 22:10, robert at freenetproject.org wrote:
>> Author: robert
>> Date: 2008-01-09 22:10:36 +0000 (Wed, 09 Jan 2008)
>> New Revision: 16987
>>
>> Modified:
>>   trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java
>> Log:
>> don't assume everything has been transmitted when the transmitter  
>> oversleeps
>> - should get rid of "haven't heard from receiver in 1m55s." message
>> - the transmitter still oversleeps (2 minutes?!), and is not woken  
>> up by
> notifyAll() because it is in the throttle function: delay()
>
> Why does the below help?

I think it was actually because delay() was deadlocking, not  
oversleeping. In any case, this helps then because we will not then  
see an old timeAllSent and assume that the receiver is dead ("haven't  
heard from the receiver").

--
Robert Hailey

>
>>
>>
>> Modified: trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java
>> ===================================================================
>> --- trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java   
>> 2008-01-09
> 18:33:46 UTC (rev 16986)
>> +++ trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java   
>> 2008-01-09
> 22:10:36 UTC (rev 16987)
>> @@ -192,6 +192,7 @@
>>                                      public void packetReceived(int 
>> packetNo) {
>>                                              synchronized(_senderThread) {
>>                                                      _unsent.addLast(new 
>> Integer(packetNo));
>> +                                                    timeAllSent = -1;
>>                                                      
>> _sentPackets.setBit(packetNo, false);
>>                                                      
>> _senderThread.notifyAll();
>>                                              }
> _______________________________________________
> Devl mailing list
> Devl at freenetproject.org
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl


Reply via email to