Author: nextgens
Date: 2006-06-16 23:54:37 +0000 (Fri, 16 Jun 2006)
New Revision: 9240

Modified:
   trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
Log:
hopefully fix the AdvancedDarknet config option

Modified: trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java     
2006-06-16 23:37:28 UTC (rev 9239)
+++ trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java     
2006-06-16 23:54:37 UTC (rev 9240)
@@ -2,7 +2,6 @@

 import java.io.File;
 import java.io.IOException;
-import java.net.InetAddress;
 import java.net.Socket;
 import java.net.SocketException;
 import java.net.SocketTimeoutException;
@@ -126,16 +125,19 @@

        class FProxyAdvancedDarknetEnabledCallback implements BooleanCallback {

+               private final SimpleToadletServer ts;
+               
+               FProxyAdvancedDarknetEnabledCallback(SimpleToadletServer ts){
+                       this.ts = ts;
+               }
+               
                public boolean get() {
-                       synchronized(SimpleToadletServer.this) {
-                               return advancedDarknetEnabled;
-                       }
+                       return ts.isAdvancedDarknetEnabled();
                }
+               
                public void set(boolean val) throws InvalidConfigValueException 
{
                        if(val == get()) return;
-                       synchronized(SimpleToadletServer.this) {
-                               SimpleToadletServer.this.advancedDarknetEnabled 
= val;
-                       }
+                               ts.enableAdvancedDarknet(val);
                }
        }

@@ -159,7 +161,7 @@
                fproxyConfig.register("css", "clean", 1, true, "CSS Name", 
"Name of the CSS FProxy should use",
                                new FProxyCSSNameCallback());
                fproxyConfig.register("advancedDarknetEnabled", false, 1, true, 
"Enable Advanced Darknet?", "Whether to enable show information meant for 
advanced users/devs on /darkenet/ page",
-                               new FProxyAdvancedDarknetEnabledCallback());
+                               new FProxyAdvancedDarknetEnabledCallback(this));

                this.bf = node.tempBucketFactory;
                port = fproxyConfig.getInt("port");
@@ -168,7 +170,7 @@
                cssName = fproxyConfig.getString("css");
                if(cssName.indexOf(':') != -1 || cssName.indexOf('/') != -1)
                        throw new InvalidConfigValueException("CSS name must 
not contain slashes or colons!");
-               boolean advancedDarknetEnabled = 
fproxyConfig.getBoolean("advancedDarknetEnabled");
+               this.advancedDarknetEnabled = 
fproxyConfig.getBoolean("advancedDarknetEnabled");

                toadlets = new LinkedList();
                node.setToadletContainer(this); // even if not enabled, because 
of config
@@ -258,11 +260,7 @@
                                new SocketHandler(conn);
                        } catch (SocketTimeoutException e) {
                                // Go around again, this introduced to avoid 
blocking forever when told to quit
-                       } catch (IOException e) {
-                               Logger.minor(this, "Got IOException accepting 
conn: "+e, e);
-                               // Ignore
-                               continue;
-                       }
+                       } 
                }
        }

@@ -293,7 +291,11 @@
                this.cssName = name;
        }

-       public boolean isAdvancedDarknetEnabled() {
+       public synchronized boolean isAdvancedDarknetEnabled() {
                return this.advancedDarknetEnabled;
        }
+       
+       public synchronized void enableAdvancedDarknet(boolean b){
+               advancedDarknetEnabled = b;
+       }
 }


Reply via email to