Loading services/java/com/android/server/ConnectivityService.java +106 −89 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ import android.os.ParcelFileDescriptor; import android.os.PowerManager; import android.os.RemoteException; import android.os.ServiceManager; import android.os.SystemClock; import android.os.SystemProperties; import android.provider.Settings; import android.text.TextUtils; Loading Loading @@ -995,11 +996,16 @@ private NetworkStateTracker makeWimaxStateTracker() { // javadoc from interface public int startUsingNetworkFeature(int networkType, String feature, IBinder binder) { long startTime = 0; if (DBG) { startTime = SystemClock.elapsedRealtime(); } if (VDBG) { log("startUsingNetworkFeature for net " + networkType + ": " + feature + ", uid=" + Binder.getCallingUid()); } enforceChangePermission(); try { if (!ConnectivityManager.isNetworkTypeValid(networkType) || mNetConfigs[networkType] == null) { return Phone.APN_REQUEST_FAILED; Loading Loading @@ -1067,8 +1073,8 @@ private NetworkStateTracker makeWimaxStateTracker() { } if (restoreTimer >= 0) { mHandler.sendMessageDelayed( mHandler.obtainMessage(EVENT_RESTORE_DEFAULT_NETWORK, f), restoreTimer); mHandler.sendMessageDelayed(mHandler.obtainMessage( EVENT_RESTORE_DEFAULT_NETWORK, f), restoreTimer); } if ((ni.isConnectedOrConnecting() == true) && Loading @@ -1092,7 +1098,8 @@ private NetworkStateTracker makeWimaxStateTracker() { // assume if cannot for now if (DBG) { log("startUsingNetworkFeature reconnecting to " + networkType + ": " + feature); log("startUsingNetworkFeature reconnecting to " + networkType + ": " + feature); } network.reconnect(); return Phone.APN_REQUEST_STARTED; Loading @@ -1109,6 +1116,16 @@ private NetworkStateTracker makeWimaxStateTracker() { } } return Phone.APN_TYPE_NOT_AVAILABLE; } finally { if (DBG) { final long execTime = SystemClock.elapsedRealtime() - startTime; if (execTime > 250) { loge("startUsingNetworkFeature took too long: " + execTime + "ms"); } else { if (VDBG) log("startUsingNetworkFeature took " + execTime + "ms"); } } } } // javadoc from interface Loading services/java/com/android/server/NativeDaemonConnector.java +7 −2 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo private AtomicInteger mSequenceNumber; private static final int DEFAULT_TIMEOUT = 1 * 60 * 1000; /* 1 minute */ private static final long WARN_EXECUTE_DELAY_MS = 500; /* .5 sec */ /** Lock held whenever communicating with native daemon. */ private final Object mDaemonLock = new Object(); Loading Loading @@ -148,7 +149,6 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo mCallbackHandler.sendMessage(mCallbackHandler.obtainMessage( event.getCode(), event.getRawEvent())); } else { log("POST<- {" + rawEvent + "}"); mResponseQueue.add(event.getCmdNumber(), event); } } catch (IllegalArgumentException e) { Loading Loading @@ -300,6 +300,7 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo final int sequenceNumber = mSequenceNumber.incrementAndGet(); final StringBuilder cmdBuilder = new StringBuilder(Integer.toString(sequenceNumber)).append(' '); final long startTime = SystemClock.elapsedRealtime(); makeCommand(cmdBuilder, cmd, args); Loading Loading @@ -332,6 +333,11 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo events.add(event); } while (event.isClassContinue()); final long endTime = SystemClock.elapsedRealtime(); if (endTime - startTime > WARN_EXECUTE_DELAY_MS) { loge("NDC Command {" + logCmd + "} took too long (" + (endTime - startTime) + "ms)"); } if (event.isClassClientError()) { throw new NativeDaemonArgumentException(logCmd, event); } Loading @@ -339,7 +345,6 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo throw new NativeDaemonFailureException(logCmd, event); } log("RTN <- {" + logCmd + "}"); return events.toArray(new NativeDaemonEvent[events.size()]); } Loading services/java/com/android/server/NetworkManagementService.java +1 −1 Original line number Diff line number Diff line Loading @@ -166,7 +166,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub } mConnector = new NativeDaemonConnector( new NetdCallbackReceiver(), "netd", 10, NETD_TAG, 80); new NetdCallbackReceiver(), "netd", 10, NETD_TAG, 160); mThread = new Thread(mConnector, NETD_TAG); // Add ourself to the Watchdog monitors. Loading Loading
services/java/com/android/server/ConnectivityService.java +106 −89 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ import android.os.ParcelFileDescriptor; import android.os.PowerManager; import android.os.RemoteException; import android.os.ServiceManager; import android.os.SystemClock; import android.os.SystemProperties; import android.provider.Settings; import android.text.TextUtils; Loading Loading @@ -995,11 +996,16 @@ private NetworkStateTracker makeWimaxStateTracker() { // javadoc from interface public int startUsingNetworkFeature(int networkType, String feature, IBinder binder) { long startTime = 0; if (DBG) { startTime = SystemClock.elapsedRealtime(); } if (VDBG) { log("startUsingNetworkFeature for net " + networkType + ": " + feature + ", uid=" + Binder.getCallingUid()); } enforceChangePermission(); try { if (!ConnectivityManager.isNetworkTypeValid(networkType) || mNetConfigs[networkType] == null) { return Phone.APN_REQUEST_FAILED; Loading Loading @@ -1067,8 +1073,8 @@ private NetworkStateTracker makeWimaxStateTracker() { } if (restoreTimer >= 0) { mHandler.sendMessageDelayed( mHandler.obtainMessage(EVENT_RESTORE_DEFAULT_NETWORK, f), restoreTimer); mHandler.sendMessageDelayed(mHandler.obtainMessage( EVENT_RESTORE_DEFAULT_NETWORK, f), restoreTimer); } if ((ni.isConnectedOrConnecting() == true) && Loading @@ -1092,7 +1098,8 @@ private NetworkStateTracker makeWimaxStateTracker() { // assume if cannot for now if (DBG) { log("startUsingNetworkFeature reconnecting to " + networkType + ": " + feature); log("startUsingNetworkFeature reconnecting to " + networkType + ": " + feature); } network.reconnect(); return Phone.APN_REQUEST_STARTED; Loading @@ -1109,6 +1116,16 @@ private NetworkStateTracker makeWimaxStateTracker() { } } return Phone.APN_TYPE_NOT_AVAILABLE; } finally { if (DBG) { final long execTime = SystemClock.elapsedRealtime() - startTime; if (execTime > 250) { loge("startUsingNetworkFeature took too long: " + execTime + "ms"); } else { if (VDBG) log("startUsingNetworkFeature took " + execTime + "ms"); } } } } // javadoc from interface Loading
services/java/com/android/server/NativeDaemonConnector.java +7 −2 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo private AtomicInteger mSequenceNumber; private static final int DEFAULT_TIMEOUT = 1 * 60 * 1000; /* 1 minute */ private static final long WARN_EXECUTE_DELAY_MS = 500; /* .5 sec */ /** Lock held whenever communicating with native daemon. */ private final Object mDaemonLock = new Object(); Loading Loading @@ -148,7 +149,6 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo mCallbackHandler.sendMessage(mCallbackHandler.obtainMessage( event.getCode(), event.getRawEvent())); } else { log("POST<- {" + rawEvent + "}"); mResponseQueue.add(event.getCmdNumber(), event); } } catch (IllegalArgumentException e) { Loading Loading @@ -300,6 +300,7 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo final int sequenceNumber = mSequenceNumber.incrementAndGet(); final StringBuilder cmdBuilder = new StringBuilder(Integer.toString(sequenceNumber)).append(' '); final long startTime = SystemClock.elapsedRealtime(); makeCommand(cmdBuilder, cmd, args); Loading Loading @@ -332,6 +333,11 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo events.add(event); } while (event.isClassContinue()); final long endTime = SystemClock.elapsedRealtime(); if (endTime - startTime > WARN_EXECUTE_DELAY_MS) { loge("NDC Command {" + logCmd + "} took too long (" + (endTime - startTime) + "ms)"); } if (event.isClassClientError()) { throw new NativeDaemonArgumentException(logCmd, event); } Loading @@ -339,7 +345,6 @@ final class NativeDaemonConnector implements Runnable, Handler.Callback, Watchdo throw new NativeDaemonFailureException(logCmd, event); } log("RTN <- {" + logCmd + "}"); return events.toArray(new NativeDaemonEvent[events.size()]); } Loading
services/java/com/android/server/NetworkManagementService.java +1 −1 Original line number Diff line number Diff line Loading @@ -166,7 +166,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub } mConnector = new NativeDaemonConnector( new NetdCallbackReceiver(), "netd", 10, NETD_TAG, 80); new NetdCallbackReceiver(), "netd", 10, NETD_TAG, 160); mThread = new Thread(mConnector, NETD_TAG); // Add ourself to the Watchdog monitors. Loading