Changed ConnectivityService#getServiceInstance so its a singleton.

Change-Id: I27b5688a50917b01fb2fcd1c124da77ccae226b5
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index 6f23805..98394d0 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -105,7 +105,7 @@
     private int mNumDnsEntries;
 
     private boolean mTestMode;
-    private static ConnectivityService sServiceInstance;
+    private static volatile ConnectivityService sServiceInstance;
 
     private Handler mHandler;
 
@@ -174,11 +174,10 @@
             Looper.loop();
         }
 
-        public static ConnectivityService getServiceInstance(Context context) {
-            ConnectivityThread thread = new ConnectivityThread(context);
-            thread.start();
-
-            synchronized (thread) {
+        public static synchronized ConnectivityService getServiceInstance(Context context) {
+            if (sServiceInstance == null) {
+                ConnectivityThread thread = new ConnectivityThread(context);
+                thread.start();
                 while (sServiceInstance == null) {
                     try {
                         // Wait until sServiceInstance has been initialized.