Author: toad
Date: 2008-04-15 22:13:55 +0000 (Tue, 15 Apr 2008)
New Revision: 19366
Modified:
trunk/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
Log:
RemovePersistentRequest now removes non-persistent requests also.
Fixes #2200.
Modified: trunk/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
2008-04-15 21:51:02 UTC (rev 19365)
+++ trunk/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
2008-04-15 22:13:55 UTC (rev 19366)
@@ -447,4 +447,17 @@
}
}
}
+
+ public ClientRequest removeRequestByIdentifier(String identifier,
boolean kill) {
+ ClientRequest req;
+ synchronized(this) {
+ req = (ClientRequest)
requestsByIdentifier.remove(identifier);
+ }
+ if(req != null) {
+ req.requestWasRemoved();
+ if(kill)
+ req.cancel();
+ }
+ return req;
+ }
}
Modified: trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
2008-04-15 21:51:02 UTC (rev 19365)
+++ trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
2008-04-15 22:13:55 UTC (rev 19366)
@@ -38,9 +38,14 @@
FCPClient client = global ? handler.server.globalClient :
handler.getClient();
ClientRequest req = client.getRequest(identifier);
if(req==null){
- Logger.error(this, "Huh ? the request is null!");
- return;
+ req = handler.removeRequestByIdentifier(identifier, true);
+ if(req == null) {
+ Logger.error(this, "Huh ? the request is null!");
+ return;
+ }
+ } else {
+ client.removeByIdentifier(identifier, true);
}
- client.removeByIdentifier(identifier, true);
+
}
}