Author: nextgens
Date: 2006-09-01 20:18:27 +0000 (Fri, 01 Sep 2006)
New Revision: 10329

Modified:
   trunk/freenet/src/freenet/clients/http/BookmarkManager.java
   trunk/freenet/src/freenet/clients/http/ConfigToadlet.java
   trunk/freenet/src/freenet/clients/http/SymlinkerToadlet.java
   trunk/freenet/src/freenet/node/Node.java
   trunk/freenet/src/freenet/node/NodeClientCore.java
   trunk/freenet/src/freenet/node/TextModeClientInterface.java
   trunk/freenet/src/freenet/plugin/PluginManager.java
   trunk/freenet/src/freenet/pluginmanager/PluginManager.java
Log:
We don't need to write freenet.ini several times. Do it once after startup and 
once one shutdown, it might smatch the corruption bug and weird race conditions 
ones.

Modified: trunk/freenet/src/freenet/clients/http/BookmarkManager.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/BookmarkManager.java 2006-09-01 
19:55:29 UTC (rev 10328)
+++ trunk/freenet/src/freenet/clients/http/BookmarkManager.java 2006-09-01 
20:18:27 UTC (rev 10329)
@@ -73,8 +73,6 @@
                                } catch (MalformedURLException mue) {
                                }
                        }
-                       
-                       node.storeConfig();
                }
        }

@@ -134,7 +132,6 @@
                        try {
                                USK u = USK.create(b.key);
                                this.node.uskManager.subscribe(u, this.uskcb, 
true);
-                               node.storeConfig();
                        } catch (MalformedURLException mue) {

                        }
@@ -151,6 +148,5 @@
                        }
                }
                this.bookmarks.remove(b);
-               node.storeConfig();
        }
 }

Modified: trunk/freenet/src/freenet/clients/http/ConfigToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/ConfigToadlet.java   2006-09-01 
19:55:29 UTC (rev 10328)
+++ trunk/freenet/src/freenet/clients/http/ConfigToadlet.java   2006-09-01 
20:18:27 UTC (rev 10329)
@@ -84,7 +84,6 @@
                                }
                        }
                }
-               config.store();

                HTMLNode pageNode = 
ctx.getPageMaker().getPageNode("Configuration Applied");
                HTMLNode contentNode = 
ctx.getPageMaker().getContentNode(pageNode);

Modified: trunk/freenet/src/freenet/clients/http/SymlinkerToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/SymlinkerToadlet.java        
2006-09-01 19:55:29 UTC (rev 10328)
+++ trunk/freenet/src/freenet/clients/http/SymlinkerToadlet.java        
2006-09-01 20:18:27 UTC (rev 10329)
@@ -17,12 +17,10 @@
 public class SymlinkerToadlet extends Toadlet {

        private final HashMap linkMap = new HashMap();
-       private final Node node;
        SubConfig tslconfig;

-       public SymlinkerToadlet(HighLevelSimpleClient client, Node node) {
+       public SymlinkerToadlet(HighLevelSimpleClient client,final Node node) {
                super(client);
-               this.node = node;
                tslconfig = new SubConfig("toadletsymlinker", node.config);
                tslconfig.register("symlinks", null, 9, true, false, "Symlinks 
in ToadletServer", 
                                "A list of \"alias#target\"'s that forms a 
bunch of symlinks", 
@@ -69,7 +67,6 @@
                synchronized (linkMap) {
                        if (linkMap.put(alias, target) == alias) {
                                Logger.normal(this, "Adding link: " + alias + " 
=> " + target);
-                               node.config.store();
                                return true;
                        } else {
                                Logger.error(this, "Adding link: " + alias + " 
=> " + target);
@@ -83,7 +80,6 @@
                        Object o;
                        if ((o = linkMap.remove(alias))!= null) {
                                Logger.normal(this, "Removing link: " + alias + 
" => " + o);
-                               node.config.store();
                                return true;
                        } else {
                                Logger.error(this, "Adding link: " + alias + " 
=> " + o);

Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java    2006-09-01 19:55:29 UTC (rev 
10328)
+++ trunk/freenet/src/freenet/node/Node.java    2006-09-01 20:18:27 UTC (rev 
10329)
@@ -309,10 +309,6 @@
        private static final long oldestNeverConnectedPeerAgeUpdateInterval = 
5000;
        /** age of oldest never connected peer (milliseconds) */
        private long oldestNeverConnectedPeerAge;
-       /** Next time to start a ready ARKFetcher */
-       private long nextReadyARKFetcherStartTime = -1;
-       /** Ready ARKFetcher start interval (milliseconds) */
-       private static final long readyARKFetcherStartInterval = 1000;
        /** Next time to update PeerManagerUserAlert stats */
        private long nextPeerManagerUserAlertStatsUpdateTime = -1;
        /** PeerManagerUserAlert stats update interval (milliseconds) */
@@ -460,6 +456,7 @@

        // The watchdog will be silenced until it's true
        private boolean hasStarted;
+       private boolean isStopping = false;

        // Debugging stuff
        private static final boolean USE_RAM_PUBKEYS_CACHE = true;
@@ -2374,7 +2371,10 @@
         * May be called twice - once in exit (above) and then again
         * from the wrapper triggered by calling System.exit(). Beware!
         */
-       public void park() {
+       public synchronized void park() {
+               if(isStopping) return;
+               isStopping = true;
+               
                config.store();
        }


Modified: trunk/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeClientCore.java  2006-09-01 19:55:29 UTC 
(rev 10328)
+++ trunk/freenet/src/freenet/node/NodeClientCore.java  2006-09-01 20:18:27 UTC 
(rev 10329)
@@ -736,10 +736,6 @@
                        Logger.error(this, "Don't know what to do with 
"+block+" should be queued for reinsert");
        }

-       public void storeConfig() {
-               node.config.store();
-       }
-
        public boolean isTestnetEnabled() {
                return node.isTestnetEnabled();
        }

Modified: trunk/freenet/src/freenet/node/TextModeClientInterface.java
===================================================================
--- trunk/freenet/src/freenet/node/TextModeClientInterface.java 2006-09-01 
19:55:29 UTC (rev 10328)
+++ trunk/freenet/src/freenet/node/TextModeClientInterface.java 2006-09-01 
20:18:27 UTC (rev 10329)
@@ -623,7 +623,6 @@
             }catch(Exception e){
                Logger.error(this, "Error setting node's name");
                }
-               n.config.store();
         } else if(uline.startsWith("DISABLEPEER:")) {
                String nodeIdentifier = 
(line.substring("DISABLEPEER:".length())).trim();
                if(!havePeer(nodeIdentifier)) {

Modified: trunk/freenet/src/freenet/plugin/PluginManager.java
===================================================================
--- trunk/freenet/src/freenet/plugin/PluginManager.java 2006-09-01 19:55:29 UTC 
(rev 10328)
+++ trunk/freenet/src/freenet/plugin/PluginManager.java 2006-09-01 20:18:27 UTC 
(rev 10329)
@@ -139,7 +139,6 @@
                synchronized (syncObject) {
                        plugins.add(newPlugin);
                }
-               saveConfig();
        }

        /**
@@ -154,17 +153,9 @@
                synchronized (syncObject) {
                        plugins.remove(plugin);
                }
-               saveConfig();
        }

        /**
-        * Saves the configuration.
-        */
-       private void saveConfig() {
-               config.config.store();
-       }
-
-       /**
         * Creates a plugin from a name. The name can contain a URL for a jar 
file
         * from which the plugin is then loaded. If it does the URL and the 
plugin
         * name are separated by a '@', e.g.

Modified: trunk/freenet/src/freenet/pluginmanager/PluginManager.java
===================================================================
--- trunk/freenet/src/freenet/pluginmanager/PluginManager.java  2006-09-01 
19:55:29 UTC (rev 10328)
+++ trunk/freenet/src/freenet/pluginmanager/PluginManager.java  2006-09-01 
20:18:27 UTC (rev 10329)
@@ -100,11 +100,6 @@
                return out.toString();
        }

-       private void saveConfig() {
-               node.config.store();
-       }
-       
-       
        public void startPlugin(String filename) {
                if (filename.trim().length() == 0)
                        return;
@@ -141,7 +136,6 @@
                                                UserAlert.ERROR));
                        }
                }
-               saveConfig();
        }

        private void registerToadlet(FredPlugin pl){
@@ -176,7 +170,6 @@
                        if (removeKey != null)
                                pluginInfo.remove(removeKey);
                }
-               saveConfig();
        }

        public void addToadletSymlinks(PluginInfoWrapper pi) {
@@ -195,7 +188,6 @@
                                Logger.error(this, "removing Toadlet-link", ex);
                        }
                }
-               saveConfig();
        }

        public void removeToadletSymlinks(PluginInfoWrapper pi) {
@@ -217,7 +209,6 @@
                                Logger.error(this, "removing Toadlet-link: " + 
rm, ex);
                        }
                }
-               saveConfig();
        }

        public String dumpPlugins() {


Reply via email to