From c4c8522a1feeb23e972a534a92f822108281dcac Mon Sep 17 00:00:00 2001 From: xiaofan Date: Fri, 3 Sep 2021 23:40:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=A7=E8=A1=8Creboot=E5=89=8D=E8=87=AA?= =?UTF-8?q?=E5=8A=A8sync=EF=BC=8C=E9=98=B2=E6=AD=A2=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=B8=A2=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiaofan Change-Id: I1460e7d3dc3b93256321b50e79aa64f4861f09d1 --- services/src/init_reboot.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/services/src/init_reboot.c b/services/src/init_reboot.c index e1b285c75..39f8d0d5e 100644 --- a/services/src/init_reboot.c +++ b/services/src/init_reboot.c @@ -166,21 +166,20 @@ static int UpdateUpdaterStatus(const char *valueData) static int DoRebootCore(const char *valueData) { - if (valueData == NULL) { - reboot(RB_AUTOBOOT); - return 0; - } else if (strncmp(valueData, "shutdown", strlen("shutdown")) == 0) { - reboot(RB_POWER_OFF); - return 0; - } else if (strncmp(valueData, "updater", strlen("updater")) == 0) { - int ret = UpdateUpdaterStatus(valueData); - if (ret == 0) { - reboot(RB_AUTOBOOT); - return 0; + int arg = RB_AUTOBOOT; + if (valueData) { + if (strcmp(valueData, "shutdown") == 0) { + arg = RB_POWER_OFF; + } else if (strcmp(valueData, "updater") == 0) { + if (UpdateUpdaterStatus(valueData) != 0) { + return -1; + } + } else { + return -1; } - } else { - return -1; } + sync(); + reboot(arg); return 0; } -- Gitee