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();
        }



Reply via email to