[vdr] [patch] avoid inheritance of file descriptors
Klaus Schmidinger
Klaus.Schmidinger at cadsoft.de
Mon Dec 10 19:32:00 CET 2007
On 12/10/07 15:28, Deti Fliegl wrote:
> Hi,
>
> I think there is a problem in calling external programs from plugins. If
> such a program takes some while for execution (even in background) it
> gets inherited all file descriptors of VDR. This prevents vdr from
> zapping to another channel or even from restarting properly. You will
> see messages like:
>
> ERROR: /dev/dvb/adapter0/dvr0: Device or resource busy
> or
> ERROR (svdrp.c,84): Address already in use
>
> Reason: By default unix inherits all file descriptors to child processes
> when calling exec*(...) or system(...). You can avoid this by setting
> FD_CLOEXEC on all file descriptors that should not be inherited.
>
> Patch:
> ...
> Comments, ideas?
Doesn't SystemExec() (see tools.c) take care of this?
Klaus
More information about the vdr
mailing list