Decrease PackageManagerService wait time for vold

Up the blocking queue maximum to twice the number of containers we
allow which should let "asec list" complete without blocking the thread
several times.

Change the threads for the NativeDaemonConnector to vold and netd to be
more descriptive instead of the same name.

Bug: 2501075
Change-Id: I7e7949845a6c70a3d619aec0fa79ceef3c17a4be
This commit is contained in:
Kenny Root
2010-09-03 07:56:38 -07:00
parent 12da9d7472
commit 305bcbf0c9
3 changed files with 21 additions and 10 deletions

View File

@@ -68,6 +68,8 @@ class MountService extends IMountService.Stub
private static final String TAG = "MountService";
private static final String VOLD_TAG = "VoldConnector";
/*
* Internal vold volume state constants
*/
@@ -993,9 +995,15 @@ class MountService extends IMountService.Stub
return;
}
mConnector = new NativeDaemonConnector(this, "vold", 10, "VoldConnector");
/*
* Create the connection to vold with a maximum queue of twice the
* amount of containers we'd ever expect to have. This keeps an
* "asec list" from blocking a thread repeatedly.
*/
mConnector = new NativeDaemonConnector(this, "vold",
PackageManagerService.MAX_CONTAINERS * 2, VOLD_TAG);
mReady = false;
Thread thread = new Thread(mConnector, NativeDaemonConnector.class.getName());
Thread thread = new Thread(mConnector, VOLD_TAG);
thread.start();
}

View File

@@ -55,6 +55,8 @@ class NetworkManagementService extends INetworkManagementService.Stub {
private static final String TAG = "NetworkManagmentService";
private static final String NETD_TAG = "NetdConnector";
class NetdResponseCode {
public static final int InterfaceListResult = 110;
public static final int TetherInterfaceListResult = 111;
@@ -101,8 +103,8 @@ class NetworkManagementService extends INetworkManagementService.Stub {
}
mConnector = new NativeDaemonConnector(
new NetdCallbackReceiver(), "netd", 10, "NetdConnector");
Thread thread = new Thread(mConnector, NativeDaemonConnector.class.getName());
new NetdCallbackReceiver(), "netd", 10, NETD_TAG);
Thread thread = new Thread(mConnector, NETD_TAG);
thread.start();
}

View File

@@ -9383,17 +9383,18 @@ class PackageManagerService extends IPackageManager.Stub {
// ------- apps on sdcard specific code -------
static final boolean DEBUG_SD_INSTALL = false;
final private String mSdEncryptKey = "AppsOnSD";
final private String mSdEncryptAlg = "AES";
private static final String SD_ENCRYPTION_KEYSTORE_NAME = "AppsOnSD";
private static final String SD_ENCRYPTION_ALGORITHM = "AES";
static final int MAX_CONTAINERS = 250;
private boolean mMediaMounted = false;
private static final int MAX_CONTAINERS = 250;
private String getEncryptKey() {
try {
String sdEncKey = SystemKeyStore.getInstance().retrieveKeyHexString(mSdEncryptKey);
String sdEncKey = SystemKeyStore.getInstance().retrieveKeyHexString(
SD_ENCRYPTION_KEYSTORE_NAME);
if (sdEncKey == null) {
sdEncKey = SystemKeyStore.getInstance().
generateNewKeyHexString(128, mSdEncryptAlg, mSdEncryptKey);
sdEncKey = SystemKeyStore.getInstance().generateNewKeyHexString(128,
SD_ENCRYPTION_ALGORITHM, SD_ENCRYPTION_KEYSTORE_NAME);
if (sdEncKey == null) {
Slog.e(TAG, "Failed to create encryption keys");
return null;