Author: toad
Date: 2009-03-07 14:01:13 +0000 (Sat, 07 Mar 2009)
New Revision: 25932
Modified:
branches/db4o/freenet/src/freenet/support/io/DelayedFreeBucket.java
Log:
Debugging/logging
Modified: branches/db4o/freenet/src/freenet/support/io/DelayedFreeBucket.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/DelayedFreeBucket.java
2009-03-07 14:00:45 UTC (rev 25931)
+++ branches/db4o/freenet/src/freenet/support/io/DelayedFreeBucket.java
2009-03-07 14:01:13 UTC (rev 25932)
@@ -22,6 +22,7 @@
Bucket bucket;
boolean freed;
boolean removed;
+ boolean reallyRemoved;
public boolean toFree() {
return freed;
@@ -148,6 +149,11 @@
}
public void realRemoveFrom(ObjectContainer container) {
+ synchronized(this) {
+ if(reallyRemoved)
+ Logger.error(this, "Calling realRemoveFrom()
twice on "+this);
+ reallyRemoved = true;
+ }
bucket.removeFrom(container);
container.delete(this);
}
@@ -155,4 +161,21 @@
// public void objectOnDeactivate(ObjectContainer container) {
// if(Logger.shouldLog(Logger.MINOR, this)) Logger.minor(this,
"Deactivating "+super.toString()+" : "+bucket, new Exception("debug"));
// }
+
+ public boolean objectCanNew(ObjectContainer container) {
+ if(reallyRemoved) {
+ Logger.error(this, "objectCanNew() on "+this+" but
really removed = "+reallyRemoved+" already freed="+freed+" removed="+removed,
new Exception("debug"));
+ return false;
+ }
+ return true;
+ }
+
+ public boolean objectCanUpdate(ObjectContainer container) {
+ if(reallyRemoved) {
+ Logger.error(this, "objectCanUpdate() on "+this+" but
really removed = "+reallyRemoved+" already freed="+freed+" removed="+removed,
new Exception("debug"));
+ return false;
+ }
+ return true;
+ }
+
}
\ No newline at end of file
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs