From 7a1dde4247299b7b0711cd21d190857faadfa775 Mon Sep 17 00:00:00 2001
From: Shudong Zhou <shudongzhou@gmail.com>
Date: Thu, 31 Jan 2013 00:59:16 -0800
Subject: [PATCH] Fix singleton task initialization

---
 .../core/internal/Controller.java               | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/main/java/net/floodlightcontroller/core/internal/Controller.java b/src/main/java/net/floodlightcontroller/core/internal/Controller.java
index 1716d27e9..73f3bed66 100644
--- a/src/main/java/net/floodlightcontroller/core/internal/Controller.java
+++ b/src/main/java/net/floodlightcontroller/core/internal/Controller.java
@@ -1795,14 +1795,6 @@ public class Controller implements IFloodlightProviderService,
         this.roleChanger = new RoleChanger(this);
         initVendorMessages();
         this.systemStartTime = System.currentTimeMillis();
-
-        ScheduledExecutorService ses = threadPool.getScheduledExecutor();
-        roleChangeDamper = new SingletonTask(ses, new Runnable() {
-            @Override
-            public void run() {
-                doSetRole();
-            }
-        });
     }
 
     /**
@@ -1844,6 +1836,15 @@ public class Controller implements IFloodlightProviderService,
 
         // Add our REST API
         restApi.addRestletRoutable(new CoreWebRoutable());
+
+        // Start role change task
+        ScheduledExecutorService ses = threadPool.getScheduledExecutor();
+        roleChangeDamper = new SingletonTask(ses, new Runnable() {
+            @Override
+            public void run() {
+                doSetRole();
+            }
+        });
     }
 
     @Override
-- 
GitLab