Index: libs/libmythtv/eitscanner.h =================================================================== --- libs/libmythtv/eitscanner.h (revision 13732) +++ libs/libmythtv/eitscanner.h (working copy) @@ -65,6 +65,8 @@ bool ignore_source; + uint idle_time; + static QMutex resched_lock; static QDateTime resched_next_time; Index: libs/libmythtv/eitscanner.cpp =================================================================== --- libs/libmythtv/eitscanner.cpp (revision 13732) +++ libs/libmythtv/eitscanner.cpp (working copy) @@ -6,6 +6,8 @@ #include "tv_rec.h" +#include "libmyth/mythcontext.h" + #include "channelbase.h" #include "iso639.h" #include "eitscanner.h" @@ -33,6 +35,8 @@ QStringList langPref = iso639_get_language_list(); eitHelper->SetLanguagePreferences(langPref); + idle_time = gContext->GetNumSetting("idleTimeoutSecs", 0); + pthread_create(&eventThread, NULL, SpawnEventLoop, this); } @@ -125,8 +129,13 @@ } if (activeScanNextChan == activeScanChannels.end()) + { + activeScanNextTrig = QDateTime::currentDateTime() + .addSecs(idle_time); activeScanNextChan = activeScanChannels.begin(); - + continue; + } + if (!(*activeScanNextChan).isEmpty()) { eitHelper->WriteEITCache();