Fixed potentially thread unsafe initialization.

Change-Id: I047bcd9358a544723603a069faa234c00ba6b757
diff --git a/utils/misc/src/main/java/org/onlab/util/Timer.java b/utils/misc/src/main/java/org/onlab/util/Timer.java
index 276138f..7719fa1 100644
--- a/utils/misc/src/main/java/org/onlab/util/Timer.java
+++ b/utils/misc/src/main/java/org/onlab/util/Timer.java
@@ -8,7 +8,7 @@
  */
 public final class Timer {
 
-    private static HashedWheelTimer timer;
+    private static volatile HashedWheelTimer timer;
 
     // Ban public construction
     private Timer() {
@@ -21,10 +21,16 @@
      */
     public static HashedWheelTimer getTimer() {
         if (Timer.timer == null) {
+            initTimer();
+        }
+        return Timer.timer;
+    }
+
+    private static synchronized  void initTimer() {
+        if (Timer.timer == null) {
             Timer.timer = new HashedWheelTimer();
             Timer.timer.start();
         }
-        return Timer.timer;
     }
 
 }