Merge "Workaround 64 bit devices that don't have zygotes yet."

This commit is contained in:
Narayan Kamath
2014-04-11 18:29:54 +00:00
committed by Gerrit Code Review

View File

@ -372,7 +372,7 @@ public class Process {
for (int i = 0; i < tries; i++) {
if (i > 0) {
try {
Log.i("Zygote", "Zygote not up yet, sleeping...");
Log.i(LOG_TAG, "Zygote not up yet, sleeping...");
Thread.sleep(ZYGOTE_RETRY_MILLIS);
} catch (InterruptedException ex) {
throw new ZygoteStartFailedEx(ex);
@ -707,6 +707,16 @@ public class Process {
return primaryZygoteState;
}
// TODO: Get rid of this. This is a temporary workaround until all the
// compilation related pieces for the dual zygote stack are ready.
// b/3647418.
if (System.getenv("ANDROID_SOCKET_" + SECONDARY_ZYGOTE_SOCKET) == null) {
Log.e(LOG_TAG, "Forcing app to primary zygote, secondary unavailable (ABI= " + abi + ")");
// Should be :
// throw new ZygoteStartFailedEx("Unsupported zygote ABI: " + abi);
return primaryZygoteState;
}
// The primary zygote didn't match. Try the secondary.
if (secondaryZygoteState == null || secondaryZygoteState.isClosed()) {
secondaryZygoteState = ZygoteState.connect(SECONDARY_ZYGOTE_SOCKET,