From: José Bollo Date: Wed, 6 May 2020 11:48:17 +0000 (+0200) Subject: afm-urun: Fix infinite loop on start status X-Git-Tag: 9.99.1~3 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fapp-framework-main.git;a=commitdiff_plain;h=e7ac328451fa3b3edfbd3658a2365b75d41c0698 afm-urun: Fix infinite loop on start status Ensure that there is no infinite loop when waiting for the completion of a status. Bug-AGL: SPEC-3323 Change-Id: I93537e9bbbe8ef357d112bea1cb6201e96d01ebf Signed-off-by: José Bollo --- diff --git a/src/afm-urun.c b/src/afm-urun.c index 227fd1d..7f8ad16 100644 --- a/src/afm-urun.c +++ b/src/afm-urun.c @@ -146,15 +146,18 @@ error: static const char *wait_state_stable(int isuser, const char *dpath) { - const char *state; + int trial, count; + const char *state = NULL; - for (;;) { + count = 10; + for (trial = 1 ; trial <= count ; trial++) { state = systemd_unit_state_of_dpath(isuser, dpath); if (state == NULL || state == SysD_State_Active || state == SysD_State_Failed) return state; - /* TODO: sleep */ + sleep(1); } + return state; } /*