From 37a1f01aeb3d00360139c6bf0d6b377d3b91846a Mon Sep 17 00:00:00 2001 From: Lucchetto Date: Sun, 10 Oct 2021 16:22:22 +0100 Subject: [PATCH] rosemary: Adapt libinit to Android 11 --- init/Android.bp | 3 +++ init/init.cpp | 24 ++++++++++++++++-------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/init/Android.bp b/init/Android.bp index e96f555..a972329 100644 --- a/init/Android.bp +++ b/init/Android.bp @@ -23,5 +23,8 @@ cc_library_static { include_dirs: [ "system/core/base/include", "system/core/init" + ], + shared_libs: [ + "libbase", ] } diff --git a/init/init.cpp b/init/init.cpp index 708ae42..af118c4 100644 --- a/init/init.cpp +++ b/init/init.cpp @@ -20,10 +20,18 @@ #define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_ #include -#include "vendor_init.h" #include "property_service.h" -using android::init::property_set; +void property_override(char const prop[], char const value[]) +{ + auto pi = (prop_info *) __system_property_find(prop); + + if (pi != nullptr) { + __system_property_update(pi, value, strlen(value)); + } else { + __system_property_add(prop, strlen(prop), value, strlen(value)); + } +} void load_dalvik_properties() { @@ -63,12 +71,12 @@ void load_dalvik_properties() heapmaxfree = "8m"; } - property_set("dalvik.vm.heapstartsize", heapstartsize); - property_set("dalvik.vm.heapgrowthlimit", heapgrowthlimit); - property_set("dalvik.vm.heapsize", heapsize); - property_set("dalvik.vm.heaptargetutilization", heaptargetutilization); - property_set("dalvik.vm.heapminfree", heapminfree); - property_set("dalvik.vm.heapmaxfree", heapmaxfree); + property_override("dalvik.vm.heapstartsize", heapstartsize); + property_override("dalvik.vm.heapgrowthlimit", heapgrowthlimit); + property_override("dalvik.vm.heapsize", heapsize); + property_override("dalvik.vm.heaptargetutilization", heaptargetutilization); + property_override("dalvik.vm.heapminfree", heapminfree); + property_override("dalvik.vm.heapmaxfree", heapmaxfree); } void vendor_load_properties()