Author: toad
Date: 2007-11-27 17:09:43 +0000 (Tue, 27 Nov 2007)
New Revision: 15968

Modified:
   trunk/freenet/src/freenet/node/Node.java
   trunk/freenet/src/freenet/node/OpennetManager.java
Log:
explicitly shut down the socket handlers on shutdown

Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java    2007-11-27 16:08:01 UTC (rev 
15967)
+++ trunk/freenet/src/freenet/node/Node.java    2007-11-27 17:09:43 UTC (rev 
15968)
@@ -843,7 +843,7 @@
                                        }
                                }
                                if(val) o.start();
-                               else o.stop();
+                               else o.stop(true);
                                
ipDetector.ipDetectorManager.notifyPortChange(getPublicInterfacePorts());
                        }
                });
@@ -1210,6 +1210,19 @@
                        }
                });

+               storeShutdownHook.addLateJob(new Thread() {
+                       public void run() {
+                               if(opennet != null)
+                                       opennet.stop(false);
+                       }
+               });
+               
+               storeShutdownHook.addLateJob(new Thread() {
+                       public void run() {
+                               darknetCrypto.stop();
+                       }
+               });
+               
                nodeConfig.register("databaseMaxMemory", "20M", sortOrder++, 
true, false, "Node.databaseMemory", "Node.databaseMemoryLong", 
                                new LongCallback() {


Modified: trunk/freenet/src/freenet/node/OpennetManager.java
===================================================================
--- trunk/freenet/src/freenet/node/OpennetManager.java  2007-11-27 16:08:01 UTC 
(rev 15967)
+++ trunk/freenet/src/freenet/node/OpennetManager.java  2007-11-27 17:09:43 UTC 
(rev 15968)
@@ -200,9 +200,10 @@
        /**
         * Called when opennet is disabled
         */
-       public void stop() {
+       public void stop(boolean purge) {
                crypto.stop();
-               node.peers.removeOpennetPeers();
+               if(purge)
+                       node.peers.removeOpennetPeers();
        }

        public boolean addNewOpennetNode(SimpleFieldSet fs) throws 
FSParseException, PeerParseException, ReferenceSignatureVerificationException {


Reply via email to