Author: toad
Date: 2007-07-12 14:34:11 +0000 (Thu, 12 Jul 2007)
New Revision: 14043
Modified:
trunk/freenet/src/freenet/node/Node.java
trunk/freenet/src/freenet/node/Persister.java
Log:
Finally fix the node-throttle.dat being written to in parallel problems!
- Don't start the persister for node-throttle twice!
- Don't allow the persister to be started twice in any case
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2007-07-12 11:02:42 UTC (rev
14042)
+++ trunk/freenet/src/freenet/node/Node.java 2007-07-12 14:34:11 UTC (rev
14043)
@@ -1295,8 +1295,6 @@
checkForEvilJVMBug();
- this.nodeStats.start();
-
// TODO: implement a "required" version if needed
if(!nodeUpdater.isEnabled() &&
(NodeStarter.RECOMMENDED_EXT_BUILD_NUMBER > NodeStarter.extBuildNumber))
clientCore.alerts.register(new ExtOldAgeUserAlert());
Modified: trunk/freenet/src/freenet/node/Persister.java
===================================================================
--- trunk/freenet/src/freenet/node/Persister.java 2007-07-12 11:02:42 UTC
(rev 14042)
+++ trunk/freenet/src/freenet/node/Persister.java 2007-07-12 14:34:11 UTC
(rev 14043)
@@ -32,13 +32,14 @@
private final PacketSender ps;
File persistTemp;
File persistTarget;
+ private boolean started;
void interrupt() {
synchronized(this) {
notifyAll();
}
}
-
+
public void run() {
try {
persistThrottle();
@@ -123,6 +124,13 @@
}
public void start() {
+ synchronized(this) {
+ if(started) {
+ Logger.error(this, "Already started: "+this,
new Exception("debug"));
+ return;
+ }
+ started = true;
+ }
run();
}