From 41894c4720060ebcb1550cc1444c0d34a601c149 Mon Sep 17 00:00:00 2001 From: Stefan Seyfried Date: Mon, 3 Oct 2011 17:51:14 +0000 Subject: [PATCH] neutrino: wait for sectionsd start before registering events git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-beta@1744 e54a6e83-5905-42d5-8d5c-058d10e6a962 Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/0f745acb58678aa43c14fa85a61631591a785e14 Author: Stefan Seyfried Date: 2011-10-03 (Mon, 03 Oct 2011) ------------------ This commit was generated by Migit --- src/neutrino.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 02366a9d9..f119a4bb8 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -58,6 +58,7 @@ #include +#include #include #include #include @@ -1749,6 +1750,7 @@ void CNeutrinoApp::SetupTiming() bool sectionsd_getEPGid(const event_id_t epgID, const time_t startzeit, CEPGData * epgdata); +bool sectionsd_isReady(void); #define LCD_UPDATE_TIME_RADIO_MODE (6 * 1000 * 1000) #define LCD_UPDATE_TIME_TV_MODE (60 * 1000 * 1000) @@ -2004,6 +2006,11 @@ int CNeutrinoApp::run(int argc, char **argv) InitServiceSettings(service); + /* wait for sectionsd to be able to process our registration */ + time_t t = time_monotonic_ms(); + while (! sectionsd_isReady()) + sleep(0); + dprintf(DEBUG_NORMAL, "had to wait %ld ms for sectionsd to start up\n", time_monotonic_ms() - t); dprintf( DEBUG_NORMAL, "registering as event client\n");