From f16fe7be807d8e00830f8ec936ff4ddbbb4280ce Mon Sep 17 00:00:00 2001 From: Tadao Tanikawa Date: Thu, 19 Jul 2018 13:33:13 +0000 Subject: [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' Bug-AGL: SPEC-1471 Change-Id: Ied744c3e322203e66dd17d68dd783ad8f5cd3880 Signed-off-by: Tadao Tanikawa --- launcher/src/main.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) 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); -- cgit 1.2.3-korg