Fixed shutdown after user inactivity in case a plugin is keeping the OSD open

This commit is contained in:
Klaus Schmidinger 2018-07-16 08:55:15 +02:00
parent 30eb01ef37
commit 5543f13051
3 changed files with 18 additions and 12 deletions

View File

@ -3566,3 +3566,7 @@ Onur Sent
Helmut Binder <cco@aon.at> Helmut Binder <cco@aon.at>
for improving calculating signal strength and quality for improving calculating signal strength and quality
Ulrich Eckhardt <uli@uli-eckhardt.de>
for reporting a problem with shutdown after user inactivity in case a plugin is
keeping the OSD open

View File

@ -9348,7 +9348,7 @@ Video Disk Recorder Revision History
Senzel). Senzel).
- Official release. - Official release.
2018-05-27: Version 2.4.1 2018-07-16: Version 2.4.1
- Fixed handling the tfRecording flag in the SVDRP commands MODT and UPDT (reported - Fixed handling the tfRecording flag in the SVDRP commands MODT and UPDT (reported
by Johann Friedrichs). by Johann Friedrichs).
@ -9361,3 +9361,5 @@ Video Disk Recorder Revision History
(if any) implements SetMessage(). (if any) implements SetMessage().
- Fixed locking the Channels list in cDisplayChannel, where the lock was still held - Fixed locking the Channels list in cDisplayChannel, where the lock was still held
when Flush() was called (reported by Matthias Senzel and Uwe Scheffler). when Flush() was called (reported by Matthias Senzel and Uwe Scheffler).
- Fixed shutdown after user inactivity in case a plugin is keeping the OSD open
(reported by Ulrich Eckhardt).

22
vdr.c
View File

@ -22,7 +22,7 @@
* *
* The project's page is at http://www.tvdr.de * The project's page is at http://www.tvdr.de
* *
* $Id: vdr.c 4.26 2018/04/28 11:27:48 kls Exp $ * $Id: vdr.c 4.27 2018/07/16 08:52:40 kls Exp $
*/ */
#include <getopt.h> #include <getopt.h>
@ -1514,9 +1514,7 @@ int main(int argc, char *argv[])
ShutdownHandler.countdown.Cancel(); ShutdownHandler.countdown.Cancel();
} }
if ((Now - LastInteract) > ACTIVITYTIMEOUT && !cRecordControls::Active() && !RecordingsHandler.Active() && (Now - cRemote::LastActivity()) > ACTIVITYTIMEOUT) { if (!cRecordControls::Active() && !RecordingsHandler.Active() && (Now - cRemote::LastActivity()) > ACTIVITYTIMEOUT) {
// Handle housekeeping tasks
// Shutdown: // Shutdown:
// Check whether VDR will be ready for shutdown in SHUTDOWNWAIT seconds: // Check whether VDR will be ready for shutdown in SHUTDOWNWAIT seconds:
time_t Soon = Now + SHUTDOWNWAIT; time_t Soon = Now + SHUTDOWNWAIT;
@ -1535,13 +1533,15 @@ int main(int argc, char *argv[])
// Do this again a bit later: // Do this again a bit later:
ShutdownHandler.SetRetry(SHUTDOWNRETRY); ShutdownHandler.SetRetry(SHUTDOWNRETRY);
} }
// Handle housekeeping tasks
// Disk housekeeping: if ((Now - LastInteract) > ACTIVITYTIMEOUT) {
RemoveDeletedRecordings(); // Disk housekeeping:
ListGarbageCollector.Purge(); RemoveDeletedRecordings();
cSchedules::Cleanup(); ListGarbageCollector.Purge();
// Plugins housekeeping: cSchedules::Cleanup();
PluginManager.Housekeeping(); // Plugins housekeeping:
PluginManager.Housekeeping();
}
} }
ReportEpgBugFixStats(); ReportEpgBugFixStats();