From a1770e75d03b8d69c835b457f035e90c2e9996c8 Mon Sep 17 00:00:00 2001 From: Evan Birenbaum Date: Wed, 25 May 2016 10:17:44 -0700 Subject: [PATCH] Make the DevTools Connectivity lock non reference counted. To avoid a race on checking if the lock is held. Change-Id: Iee836447ab0cf6586fa8ece570cc821cd7c6fcd4 --- .../src/com/android/development/Connectivity.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/apps/Development/src/com/android/development/Connectivity.java b/apps/Development/src/com/android/development/Connectivity.java index 56504821e..0a6a4ca6d 100644 --- a/apps/Development/src/com/android/development/Connectivity.java +++ b/apps/Development/src/com/android/development/Connectivity.java @@ -406,6 +406,7 @@ public class Connectivity extends Activity { mWm = (WifiManager)getSystemService(Context.WIFI_SERVICE); mWml = mWm.createMulticastLock(TAG); + mWml.setReferenceCounted(false); mPm = (PowerManager)getSystemService(Context.POWER_SERVICE); mCm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); IBinder b = ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE); @@ -486,9 +487,7 @@ public class Connectivity extends Activity { mCm.unregisterNetworkCallback(mCallback); mCallback = null; unregisterReceiver(mReceiver); - if (mWml.isHeld()) { - mWml.release(); - } + mWml.release(); } @Override