Author: robert
Date: 2007-12-20 20:02:25 +0000 (Thu, 20 Dec 2007)
New Revision: 16752
Modified:
trunk/freenet/src/freenet/node/InsertHandler.java
Log:
wait for receive before transmit
Modified: trunk/freenet/src/freenet/node/InsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/InsertHandler.java 2007-12-20 19:24:17 UTC
(rev 16751)
+++ trunk/freenet/src/freenet/node/InsertHandler.java 2007-12-20 20:02:25 UTC
(rev 16752)
@@ -298,7 +298,17 @@
* verifies, then commit it.
*/
private void finish(int code) {
- if(logMINOR) Logger.minor(this, "Finishing");
+ if(logMINOR) Logger.minor(this, "Waiting for receive");
+ synchronized(this) {
+ while(receiveStarted && !receiveCompleted) {
+ try {
+ wait(100*1000);
+ } catch (InterruptedException e) {
+ // Ignore
+ }
+ }
+ }
+
maybeCommit();
if(logMINOR) Logger.minor(this, "Waiting for completion");
@@ -332,18 +342,6 @@
// May need to commit anyway...
}
}
-
- synchronized(this) {
- if(receiveStarted) {
- while(!receiveCompleted) {
- try {
- wait(100*1000);
- } catch (InterruptedException e) {
- // Ignore
- }
- }
- }
- }
if(code != CHKInsertSender.TIMED_OUT && code !=
CHKInsertSender.GENERATED_REJECTED_OVERLOAD &&
code != CHKInsertSender.INTERNAL_ERROR && code !=
CHKInsertSender.ROUTE_REALLY_NOT_FOUND &&