From: Tadao Tanikawa Date: Thu, 19 Jul 2018 13:33:13 +0000 (+0000) Subject: [HACK] Resolve race condition when booting X-Git-Tag: 5.99.2^0 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=apps%2Flauncher.git;a=commitdiff_plain;h=5bf038936a9759cc1634a18efd946ce5ecf10660 [HACK] Resolve race condition when booting If HomeScreen comes after Launcher is launched, HomeScreen will miss all app's icons. This hack is for resolving the race condition between HomeScreen and Launcher when system booting. Time of delay can be adjust by environment variable, 'HMI_LAUNCHER_STARTUP_DELAY'. The default delay time is 1 sec. Bug-AGL: SPEC-1471 Change-Id: Ied744c3e322203e66dd17d68dd783ad8f5cd3880 Signed-off-by: Tadao Tanikawa --- diff --git a/launcher/src/main.cpp b/launcher/src/main.cpp index 50f1303..ea3ed74 100644 --- a/launcher/src/main.cpp +++ b/launcher/src/main.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include "applicationlauncher.h" @@ -143,6 +144,16 @@ int main(int argc, char *argv[]) query.addQueryItem(QStringLiteral("token"), token); bindingAddress.setQuery(query); + const QByteArray hack_delay = qgetenv("HMI_LAUNCHER_STARTUP_DELAY"); + int delay_time = 1; + + if (!hack_delay.isEmpty()) { + delay_time = (QString::fromLocal8Bit(hack_delay)).toInt(); + } + + QThread::sleep(delay_time); + qDebug("Sleep %d sec to resolve race condtion between HomeScreen and Launcher", delay_time); + // mail.qml loading QQmlApplicationEngine engine; engine.rootContext()->setContextProperty("layoutHandler", layoutHandler);