[vdr] [patch] avoid inheritance of file descriptors
Klaus.Schmidinger at cadsoft.de
Mon Dec 10 19:32:00 CET 2007
On 12/10/07 15:28, Deti Fliegl wrote:
> 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
> 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.
> Comments, ideas?
Doesn't SystemExec() (see tools.c) take care of this?
More information about the vdr