On Tue, Jan 23, 2007 at 10:19:57PM +0100, Udo Richter wrote:
> Since the shutdown script runs in the background, the stdin could
> probably be closed. After all, VDR should continue to 'own' stdin, and
> running in the background would probably cause a conflict. However,
> running the script with a closed file handle may cause other side effects.
I can't think of any side effect. The shutdown script is not supposed
to be interactive, and system tools generally do not read stdin.
There are two reasons why my runvdr script closes stdin and redirects
stdout and stderr to a file. First, scrolling console output on the bitmap
framebuffer could interfere with softdevice-dfb or slow down the playback.
Second, I may occasionally launch the runvdr script via an ssh session,
and the ssh session would refuse to close if stdin, stdout, or stderr are
being used after exiting the shell.
I guess I could work around this bug by leaving file descriptor 0 open
before starting vdr, e.g., by replacing the <&- with </dev/null in my
runvdr script. But I would very much appreciate it if you could add
close(STDIN_FILENO) after the fork() call.
Are you planning to maintain the 1.4 branch of the patch? If yes
(and I hope so), can plugins use some #ifdef to see if
Shutdown.IsUserInactive() is available?
vdr mailing list