Author: toad
Date: 2008-09-12 19:48:01 +0000 (Fri, 12 Sep 2008)
New Revision: 22636

Modified:
   trunk/freenet/src/freenet/node/Announcer.java
Log:
Don't start until 1 minute after startup, if we have peers.
We already did this but it was buggy, enforce it.


Modified: trunk/freenet/src/freenet/node/Announcer.java
===================================================================
--- trunk/freenet/src/freenet/node/Announcer.java       2008-09-12 19:40:55 UTC 
(rev 22635)
+++ trunk/freenet/src/freenet/node/Announcer.java       2008-09-12 19:48:01 UTC 
(rev 22636)
@@ -88,6 +88,7 @@
                        System.err.println("Attempting announcement to 
seednodes...");
                        synchronized(this) {
                                status = STATUS_LOADING;
+                               started = true;
                        }
                        connectSomeSeednodes();
                } else {
@@ -95,6 +96,9 @@
                        // Wait a minute, then check whether we need to seed.
                        node.getTicker().queueTimedJob(new Runnable() {
                                public void run() {
+                                       synchronized(Announcer.this) {
+                                               started = true;
+                                       }
                                        try {
                                                maybeSendAnnouncement();
                                        } catch (Throwable t) {
@@ -310,7 +314,9 @@
        private boolean dontKnowOurIPAddress;

        public void maybeSendAnnouncement() {
-               started = true;
+               synchronized(this) {
+                       if(!started) return;
+               }
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
                if(logMINOR)
                        Logger.minor(this, "maybeSendAnnouncement()");


Reply via email to