[RFC] Shutdown rewrite for 1.5.x

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Marko M?kel? wrote:
> The problem seems to lie in shutdown.c, in SystemExecSession().
> It won't close file descriptor 0, but it will close anything above
> STDERR_FILENO (which is normally 2).  This function appears to show
> up in strace output as "clone()".  Adding close(0) to the function
> fixes the problem.  Do you see any reason why the shutdown script
> would need to access stdin?  (I can see reasons why it would want to
> access stdout or stderr.)

Actually, the SystemExecSession() is just a modified version of 
SystemExec() in thread.c, that was used before to call the shutdown 
script. They only differ in the fact that VDR continues instead of 
waiting for the child process, and that the child process is detached 
into its own session. There's no serious difference regarding the file 
handles.
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.

Cheers,

Udo



[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux