DivestOS/Patches/LineageOS-20.0/android_libcore/0003-Exec_Based_Spawning-1.patch
Tad 055ed9bfad
20.0: Initial bringup
Signed-off-by: Tad <tad@spotco.us>
2022-10-15 10:39:48 -04:00

80 lines
2.9 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Wed, 11 Sep 2019 13:46:38 +0300
Subject: [PATCH] add parameter for avoiding full preload with exec
---
api/module-lib-current.txt | 2 ++
.../main/java/dalvik/system/ZygoteHooks.java | 24 +++++++++++++++++--
2 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/api/module-lib-current.txt b/api/module-lib-current.txt
index c85cffb885e..570df304548 100644
--- a/api/module-lib-current.txt
+++ b/api/module-lib-current.txt
@@ -365,7 +365,9 @@ package dalvik.system {
public final class ZygoteHooks {
method public static void gcAndFinalize();
method public static boolean isIndefiniteThreadSuspensionSafe();
+ method public static void onBeginPreload(boolean);
method public static void onBeginPreload();
+ method public static void onEndPreload(boolean);
method public static void onEndPreload();
method public static void postForkChild(int, boolean, boolean, String);
method public static void postForkCommon();
diff --git a/dalvik/src/main/java/dalvik/system/ZygoteHooks.java b/dalvik/src/main/java/dalvik/system/ZygoteHooks.java
index bfe19454d07..b770e02a906 100644
--- a/dalvik/src/main/java/dalvik/system/ZygoteHooks.java
+++ b/dalvik/src/main/java/dalvik/system/ZygoteHooks.java
@@ -65,7 +65,7 @@ public final class ZygoteHooks {
* @hide
*/
@SystemApi(client = MODULE_LIBRARIES)
- public static void onBeginPreload() {
+ public static void onBeginPreload(boolean fullPreload) {
com.android.i18n.system.ZygoteHooks.onBeginPreload();
ICU.initializeCacheInZygote();
@@ -86,13 +86,23 @@ public final class ZygoteHooks {
}
}
+ /**
+ * Called when the zygote begins preloading classes and data.
+ *
+ * @hide
+ */
+ @SystemApi(client = MODULE_LIBRARIES)
+ public static void onBeginPreload() {
+ onBeginPreload(true);
+ }
+
/**
* Called when the zygote has completed preloading classes and data.
*
* @hide
*/
@SystemApi(client = MODULE_LIBRARIES)
- public static void onEndPreload() {
+ public static void onEndPreload(boolean fullPreload) {
com.android.i18n.system.ZygoteHooks.onEndPreload();
// Clone standard descriptors as originals closed / rebound during zygote post fork.
@@ -101,6 +111,16 @@ public final class ZygoteHooks {
FileDescriptor.err.cloneForFork();
}
+ /**
+ * Called when the zygote has completed preloading classes and data.
+ *
+ * @hide
+ */
+ @SystemApi(client = MODULE_LIBRARIES)
+ public static void onEndPreload() {
+ onEndPreload(true);
+ }
+
/**
* Called after GC but before fork, it cleans stale cache entries in
* BaseLocale and Locale, so to avoid the cleaning to happen in every