Udo Richter schrieb:
Norbert Goebel wrote:
Why is this done in this order and not like this:
a) check the shutdown-hooks and if those exit with exitcode=0 do b) else abort the shutdown sequence without a message (exception: the script wants to be verbose and does it itself) b) display shutdown abort message c) wait for the timeout and shutdown if it happens
The purpose of the shutdown script has never been to report whether shutdown is possible or not. The only purpose of the shutdown script is to shut down the computer and kill VDR, or do nothing. There was never any return code defined that indicates shutdown-readiness, nor was the return code ever checked.
Your strategy would therefore be a completely new shutdown script that is more like a check-for-activity script, and that would still require another script that actually does the shutdown after all.
It was not exactly my idea to do it this way. I just checked the facilities c't vdr (or let's say e-tobis debian vdr-packages) offered me. And this contained the shutdown-hooks with one so called "S90.custom" shutdown-hook which - as the only example given - tells me how to abort a shutdown - so it sounded to me that those shutdown-hooks are made to do exactly what I tried to do. Seems like I was mislead by this "nice" example ;)
Such a functionality could also be implemented by a simple plugin that reports plugin activity based on return codes from an external script.
As I am not familiar with vdr plugin programming it was easier to create a shellscript that gets checked periodically via cron and after deciding that vdr should not automatically shut down sends a HITK User9 with SVDRP (User9 is not used anywhere else on my vdr). That way it's easy to include other checks (like network activity) too. But surely a nice plugin with settings changeable via vdr-menu instead of changing vars in a shellscript would still be nice ;)
So until someone else writes such a plugin or I find the time to do it myself (which might take years ;) ) the problem is solved for me.
Thx for all that helped finding a solution for the problem.
Regards, Norbert