On Wed, Jul 29, 2009 at 10:19:32AM +0200, Bram Moolenaar wrote: > > James - > > On Sat, Oct 07, 2006 at 03:32:45PM +0200, Bram Moolenaar wrote: > > ugh, cough, that's a dusty email!
I finally had a chance to look into this and find how we could avoid it. :) > On Sat, Oct 07, 2006 at 03:32:45PM +0200, Bram Moolenaar wrote: > > > Hmm, perhaps the problem is that system() or execvp() doesn't close the > > > file descriptors in a child process? > > > > Indeed, that is the case. Children inherit their parent's file > > descriptors unless the file descriptors are set to close on exec(). > > Attached patch does that. > > I don't think the FD_CLOEXEC flag is always available. I'm not sure > when it was added. Adding an autoconf check for it will help to avoid > breaking the build on old systems. I don't know autoconf, so I'm afraid I wouldn't be able to provide this part of the patch any time soon. FD_CLOEXEC is required by POSIX though, so I'm unsure how much this check is really needed. > This page mentions that one should get the flags first: > http://www.cs.ui.ac.id/WebKuliah/IKI10100/resources/contest/OnlineJudge/gnudoc/libc/Descriptor_Flags.html Ah, yes. Currently FD_CLOEXEC is the only supported flag, but that would be the proper way to do this for long-term robustness. Should I update this part of the patch or will you take care of it with the autoconf checks? -- James GPG Key: 1024D/61326D40 2003-09-02 James Vega <[email protected]>
signature.asc
Description: Digital signature

