[vdr] New shutdown procedure not working as expected
Petri Helin
phelin at googlemail.com
Wed Aug 1 23:33:42 CEST 2007
Hi,
It seems that the new shutdown procedure introduced for versions 1.5.x
is (at least for me) not working as expected. The problem is that it
does not recognize correctly whether VDR was started manually or not. In
fact it thinks every time that it has been started manually. I traced
the problem to the SystemExec call in
cShutdownHandler::CallShutdownCommand where Setup.NextWakeupTime is
updated only if the SystemExec call returns 0. i changed it to accept
all values greater or equal to 0 and now Setup.NextWakeupTime gets
updated properly. Can some explain me why 0 is expected?
Here is the patch that I came up with:
--- shutdown.c.orig 2007-08-02 00:14:49.000000000 +0300
+++ shutdown.c 2007-08-02 00:15:10.000000000 +0300
@@ -126,7 +126,7 @@
time_t Delta = WakeupTime ? WakeupTime - time(NULL) : 0;
cString cmd = cString::sprintf("%s %ld %ld %d \"%s\" %d",
shutdownCommand, WakeupTime, Delta, Channel, *strescape(File, "\"$"),
UserShutdown);
isyslog("executing '%s'", *cmd);
- if (SystemExec(cmd, true) == 0)
+ if (SystemExec(cmd, true) >= 0)
Setup.NextWakeupTime = WakeupTime; // Remember this wakeup time
for comparison on reboot
}
-Petri
More information about the vdr
mailing list