From 2e19ed17dc039febb97b741b5e1efb1b24a8f335 Mon Sep 17 00:00:00 2001 From: Pierre-Hugues Husson Date: Thu, 18 Jun 2020 20:24:21 +0200 Subject: [PATCH] Try to fix a race condition where init.svc could /not/ be restarting at the time of checking --- phh-on-boot.sh | 5 +++-- phh-on-data.sh | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/phh-on-boot.sh b/phh-on-boot.sh index a5a3543..0f20084 100644 --- a/phh-on-boot.sh +++ b/phh-on-boot.sh @@ -35,12 +35,13 @@ fi setprop ctl.stop storageproxyd sleep 10 -if [ "$vndk" = 27 ] && getprop init.svc.mediacodec |grep -q restarting;then +crashingProcess=$(getprop ro.init.updatable_crashing_process_name |grep media) +if [ "$vndk" = 27 ] && ( getprop init.svc.mediacodec |grep -q restarting || [ -n "$crashingProcess" ]);then mount /system/lib64/vndk-27/libminijail.so /vendor/lib64/libminijail_vendor.so mount /system/lib/vndk-27/libminijail.so /vendor/lib/libminijail_vendor.so fi -if [ "$vndk" = 28 ] && getprop |grep init.svc | grep media |grep -q restarting;then +if [ "$vndk" = 28 ] && ( getprop |grep init.svc | grep media |grep -q restarting || [ -n "$crashingProcess" ] );then mount /system/lib64/vndk-27/libminijail.so /vendor/lib64/libminijail_vendor.so mount /system/lib/vndk-27/libminijail.so /vendor/lib/libminijail_vendor.so mount /system/lib64/vndk-27/libminijail.so /system/lib64/vndk-28/libminijail.so diff --git a/phh-on-data.sh b/phh-on-data.sh index 55721ea..b35b2d8 100644 --- a/phh-on-data.sh +++ b/phh-on-data.sh @@ -13,12 +13,13 @@ if getprop persist.sys.phh.caf.media_profile |grep -q true;then setprop media.settings.xml "/vendor/etc/media_profiles_vendor.xml" fi -if [ "$vndk" = 27 ] && getprop init.svc.mediacodec |grep -q restarting;then +crashingProcess=$(getprop ro.init.updatable_crashing_process_name |grep media) +if [ "$vndk" = 27 ] && ( getprop init.svc.mediacodec |grep -q restarting || [ -n "$crashingProcess" ] );then mount /system/lib64/vndk-27/libminijail.so /vendor/lib64/libminijail_vendor.so mount /system/lib/vndk-27/libminijail.so /vendor/lib/libminijail_vendor.so fi -if [ "$vndk" = 28 ] && getprop |grep init.svc | grep media |grep -q restarting;then +if [ "$vndk" = 28 ] && ( getprop |grep init.svc | grep media |grep -q restarting || [ -n "$crashingProcess" ] );then mount /system/lib64/vndk-27/libminijail.so /vendor/lib64/libminijail_vendor.so mount /system/lib/vndk-27/libminijail.so /vendor/lib/libminijail_vendor.so mount /system/lib64/vndk-27/libminijail.so /system/lib64/vndk-28/libminijail.so