Merge "[Bugfix] Add reading timeout when waiting for the reply of an application zygote." am: 5a3d902415
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2363779 Change-Id: If2a3855d8ae3a2ae76b74eed57651549c470d337 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -73,6 +73,8 @@ public class ZygoteProcess {
|
|||||||
|
|
||||||
private static final int ZYGOTE_CONNECT_TIMEOUT_MS = 20000;
|
private static final int ZYGOTE_CONNECT_TIMEOUT_MS = 20000;
|
||||||
|
|
||||||
|
private static final int APPLICATION_ZYGOTE_READ_TIMEOUT_MS = 5000;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use a relatively short delay, because for app zygote, this is in the critical path of
|
* Use a relatively short delay, because for app zygote, this is in the critical path of
|
||||||
* service launch.
|
* service launch.
|
||||||
@@ -1109,6 +1111,9 @@ public class ZygoteProcess {
|
|||||||
|
|
||||||
state.mZygoteOutputWriter.flush();
|
state.mZygoteOutputWriter.flush();
|
||||||
|
|
||||||
|
// The system_server should not be blocked by a defective or bad application zygote.
|
||||||
|
state.mZygoteSessionSocket.setSoTimeout(APPLICATION_ZYGOTE_READ_TIMEOUT_MS);
|
||||||
|
|
||||||
return (state.mZygoteInputStream.readInt() == 0);
|
return (state.mZygoteInputStream.readInt() == 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user