From e99db13236bc8ac3471fcb22e81178fc423679eb Mon Sep 17 00:00:00 2001 From: Arian Date: Tue, 6 Apr 2021 19:29:03 +0200 Subject: shinano-common: rootdir: Introduce a service to start suntrold * suntrold is a oneshot service and spawns a subprocess which is required for the rear camera. Since [1] oneshot services' process groups are killed which prevents suntrold from working correctly. * To work this issue around create a non-oneshot service, suntrold.sh, which never exits, so that suntrold can be started from it and it's subprocesses will not be killed. [1] https://github.com/aosp-mirror/platform_system_core/commit/d89ed132a0ee1a57046286b83e64a35b71774952 [Idea of this is from LuK1337] Co-authored-by: LuK1337 Change-Id: Id9c4f56648168f0ffe19b2bb31c591750afe6f97 --- rootdir/Android.mk | 8 ++++++++ rootdir/bin/suntrold.sh | 7 +++++++ rootdir/etc/init.camera.rc | 5 +++++ rootdir/etc/init.qcom.rc | 7 ------- 4 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 rootdir/bin/suntrold.sh (limited to 'rootdir') diff --git a/rootdir/Android.mk b/rootdir/Android.mk index 92b8981..216a8da 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -65,6 +65,14 @@ LOCAL_SRC_FILES := bin/credmgrfirstboot.sh LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) include $(BUILD_PREBUILT) +include $(CLEAR_VARS) +LOCAL_MODULE := suntrold.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := EXECUTABLES +LOCAL_SRC_FILES := bin/suntrold.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) +include $(BUILD_PREBUILT) + include $(CLEAR_VARS) LOCAL_MODULE := tad_static LOCAL_MODULE_TAGS := optional diff --git a/rootdir/bin/suntrold.sh b/rootdir/bin/suntrold.sh new file mode 100644 index 0000000..170b738 --- /dev/null +++ b/rootdir/bin/suntrold.sh @@ -0,0 +1,7 @@ +#!/vendor/bin/sh + +# Start suntrold +/vendor/bin/suntrold + +# Sleep infinite to prevent that suntrold's subprocess gets killed +tail -f /dev/null diff --git a/rootdir/etc/init.camera.rc b/rootdir/etc/init.camera.rc index ce77064..068c838 100644 --- a/rootdir/etc/init.camera.rc +++ b/rootdir/etc/init.camera.rc @@ -101,6 +101,11 @@ service credmgrd /vendor/bin/credmgrd socket credmgr stream 0660 system camera disabled +service suntrold-sh /vendor/bin/suntrold.sh + class main + user system + group system camera + # Secure Config Transfer service service sct_service /vendor/bin/sct_service user root diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 7329ce0..010b98b 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -385,13 +385,6 @@ service ril-daemon1 /vendor/bin/hw/rild -c 2 on property:persist.radio.multisim.config=dsds start ril-daemon1 -# Start suntrold -service suntrold /vendor/bin/suntrold - user system - group system camera - oneshot - class main - # Modem Log QMI service service mlog_qmi_service /vendor/bin/mlog_qmi_service class core -- cgit v1.2.3