From 7fb99e696ffa2d0d9f0fb8e4d1c7d13fca96d94f Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 19 Mar 2006 13:32:27 +0100 Subject: [PATCH] Fixed the shutdown timeout --- CONTRIBUTORS | 3 +++ HISTORY | 1 + vdr.c | 17 ++++++++++------- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 1ea79eec..2888445e 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1776,3 +1776,6 @@ Christoph Haubrich Pekka Mauno for fixing cSchedule::GetFollowingEvent() in case there is currently no present event running + +Alexander Wenzel + for fixing the shutdown timeout diff --git a/HISTORY b/HISTORY index 246f5039..699fabf7 100644 --- a/HISTORY +++ b/HISTORY @@ -4429,3 +4429,4 @@ Video Disk Recorder Revision History - Fixed cDvbDevice::SetAudioBypass() in case setTransferModeForDolbyDigital is false (thanks to Werner Fink). - Updated 'sources.conf'. +- Fixed the shutdown timeout (thanks to Alexander Wenzel). diff --git a/vdr.c b/vdr.c index 5e17a37d..62e17fa3 100644 --- a/vdr.c +++ b/vdr.c @@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/vdr * - * $Id: vdr.c 1.249 2006/02/05 12:57:10 kls Exp $ + * $Id: vdr.c 1.250 2006/03/19 13:29:49 kls Exp $ */ #include @@ -1090,13 +1090,16 @@ int main(int argc, char *argv[]) isyslog("executing '%s'", cmd); SystemExec(cmd); free(cmd); + LastActivity = time(NULL) - Setup.MinUserInactivity * 60 + SHUTDOWNRETRY; // try again later } - else if (WatchdogTimeout > 0) { - alarm(WatchdogTimeout); - if (signal(SIGALRM, Watchdog) == SIG_IGN) - signal(SIGALRM, SIG_IGN); - } - LastActivity = time(NULL) - Setup.MinUserInactivity * 60 + SHUTDOWNRETRY; // try again later + else { + LastActivity = Now; + if (WatchdogTimeout > 0) { + alarm(WatchdogTimeout); + if (signal(SIGALRM, Watchdog) == SIG_IGN) + signal(SIGALRM, SIG_IGN); + } + } UserShutdown = false; continue; // skip the rest of the housekeeping for now }