From 25efa2eb5eac367f432a6b1255b97638abdf7812 Mon Sep 17 00:00:00 2001 From: xionglei6 Date: Fri, 25 Feb 2022 16:10:40 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E6=94=B9init=5Fagent?= =?UTF-8?q?=E7=9A=84=E7=9B=AE=E5=BD=95=E6=9D=83=E9=99=90=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9init=5Fagent=E7=9A=84=E7=9B=AE=E5=BD=95=E6=9D=83?= =?UTF-8?q?=E9=99=90=20=E8=A7=A3=E5=86=B3trigger=20check=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xionglei6 --- services/etc/init.cfg | 2 +- services/etc/init.without_two_stages.cfg | 2 +- services/param/trigger/trigger_manager.c | 3 +++ services/param/trigger/trigger_processor.c | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/services/etc/init.cfg b/services/etc/init.cfg index 8b4fe6b5..4f4e13bc 100755 --- a/services/etc/init.cfg +++ b/services/etc/init.cfg @@ -311,7 +311,7 @@ "mkdir /data/cache/recovery 0770 system cache", "mkdir /data/cache/backup_stage 0700 system system", "mkdir /data/cache/backup 0700 system system", - "mkdir /data/init_agent 0776 system system", + "mkdir /data/init_agent 0771 shell system", "setparam sys.use_memfd false", "chown root system /dev/fscklogs/log", "chmod 0770 /dev/fscklogs/log" diff --git a/services/etc/init.without_two_stages.cfg b/services/etc/init.without_two_stages.cfg index 6650b7a2..51583fe0 100755 --- a/services/etc/init.without_two_stages.cfg +++ b/services/etc/init.without_two_stages.cfg @@ -305,7 +305,7 @@ "mkdir /data/cache/recovery 0770 system cache", "mkdir /data/cache/backup_stage 0700 system system", "mkdir /data/cache/backup 0700 system system", - "mkdir /data/init_agent 0776 shell shell", + "mkdir /data/init_agent 0771 shell system", "setparam sys.use_memfd false", "chown root system /dev/fscklogs/log", "chmod 0770 /dev/fscklogs/log" diff --git a/services/param/trigger/trigger_manager.c b/services/param/trigger/trigger_manager.c index dd7dff95..f7bc8d3a 100755 --- a/services/param/trigger/trigger_manager.c +++ b/services/param/trigger/trigger_manager.c @@ -376,6 +376,9 @@ static int CheckParamCondition_(LogicCalculator *calculator, static int CheckUnknowCondition_(LogicCalculator *calculator, const char *condition, const char *content, uint32_t contentSize) { + if (condition != NULL && content != NULL && strcmp(content, condition) == 0) { + return 1; + } return ComputeCondition(calculator, condition); } diff --git a/services/param/trigger/trigger_processor.c b/services/param/trigger/trigger_processor.c index ff0e8366..4b1f548e 100755 --- a/services/param/trigger/trigger_processor.c +++ b/services/param/trigger/trigger_processor.c @@ -80,7 +80,7 @@ static void StartTiggerExecute_(TriggerNode *trigger, const char *content, uint3 GetTriggerName(trigger), trigger->flags); triggerHead->executeTrigger(trigger, content, size); TRIGGER_CLEAR_FLAG(trigger, TRIGGER_FLAGS_QUEUE); - if (TRIGGER_TEST_FLAG(trigger, TRIGGER_FLAGS_SUBTRIGGER)) { // boot:xxx=xxx trigger + if (TRIGGER_TEST_FLAG(trigger, TRIGGER_FLAGS_SUBTRIGGER)) { // boot && xxx=xxx trigger const char *condition = triggerHead->getCondition(trigger); CheckTrigger(&g_triggerWorkSpace, TRIGGER_UNKNOW, condition, strlen(condition), ExecuteTiggerImmediately); } -- GitLab