Author: toad
Date: 2009-01-24 15:12:39 +0000 (Sat, 24 Jan 2009)
New Revision: 25268
Modified:
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucket.java
Log:
Remove the kill job on clear() and on free(), NOT on os.close().
Fixes another bucket leak.
Modified:
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucket.java
===================================================================
---
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucket.java
2009-01-24 15:11:49 UTC (rev 25267)
+++
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucket.java
2009-01-24 15:12:39 UTC (rev 25268)
@@ -84,6 +84,10 @@
segment.free();
segment.removeFrom(container);
}
+ synchronized(SegmentedBucketChainBucket.this) {
+ if(killMe == null) return;
+ }
+ dbJobRunner.removeRestartJob(killMe,
NativeThread.HIGH_PRIORITY, container);
}
}, NativeThread.HIGH_PRIORITY);
@@ -276,10 +280,6 @@
container.ext().store(segments,
1);
container.ext().store(SegmentedBucketChainBucket.this, 1);
container.deactivate(oldSeg, 1);
-
synchronized(SegmentedBucketChainBucket.this) {
- if(killMe == null)
return;
- }
-
dbJobRunner.removeRestartJob(killMe, NativeThread.HIGH_PRIORITY, container);
}
}, NativeThread.HIGH_PRIORITY);
@@ -414,6 +414,10 @@
segment.clear(container, context);
}
container.delete(SegmentedBucketChainBucket.class);
+ synchronized(SegmentedBucketChainBucket.this) {
+ if(killMe == null) return;
+ }
+ dbJobRunner.removeRestartJob(killMe,
NativeThread.HIGH_PRIORITY, container);
}
}, NativeThread.HIGH_PRIORITY);
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs