Author: toad
Date: 2007-09-10 21:34:50 +0000 (Mon, 10 Sep 2007)
New Revision: 15121
Modified:
trunk/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
Log:
Better fix for same bug
Modified: trunk/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
2007-09-10 19:54:34 UTC (rev 15120)
+++ trunk/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
2007-09-10 21:34:50 UTC (rev 15121)
@@ -97,7 +97,6 @@
requests = new
ClientRequest[requestsByIdentifier.size()];
requests = (ClientRequest[])
requestsByIdentifier.values().toArray(requests);
}
- try { sock.close(); } catch (IOException e) {}
for(int i=0;i<requests.length;i++)
requests[i].onLostConnection();
if((client != null) && !client.hasPersistentRequests())
Modified: trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
2007-09-10 19:54:34 UTC (rev 15120)
+++ trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
2007-09-10 21:34:50 UTC (rev 15121)
@@ -89,7 +89,8 @@
FCPMessage err = new
ProtocolErrorMessage(ProtocolErrorMessage.CLIENT_HELLO_MUST_BE_FIRST_MESSAGE,
true, null, null, false);
handler.outputHandler.queue(err);
handler.close();
- continue;
+ is.close();
+ return;
} else {
FCPMessage err = new
ProtocolErrorMessage(e.protocolCode, false, e.getMessage(), e.ident, e.global);
handler.outputHandler.queue(err);
@@ -100,7 +101,8 @@
FCPMessage err = new
ProtocolErrorMessage(ProtocolErrorMessage.CLIENT_HELLO_MUST_BE_FIRST_MESSAGE,
true, null, null, false);
handler.outputHandler.queue(err);
handler.close();
- continue;
+ is.close();
+ return;
}
if(msg instanceof BaseDataCarryingMessage) {
// FIXME tidy up - coalesce with above and
below try { } catch (MIE) {}'s?
@@ -127,7 +129,10 @@
continue;
}
firstMessage = false;
- if(handler.isClosed()) return;
+ if(handler.isClosed()) {
+ is.close();
+ return;
+ }
}
}
}