LINUX.IE, website of the Irish Linux Users' Group
Tux rules!

   
Home
New Users
Articles
Download
Projects
Community
Vendors

  Print Version
 
Archives:


planetILUG

Recent News

News Archive


Join the
ILUG
on FaceBook


Join the
ILUG
on LinkedIn


Join the
ILUG SETI
Group



















 
 :: Mailing Lists

[ILUG] don't pass open file descriptor to children

[ILUG] don't pass open file descriptor to children

kevin lyda kevin at suberic.net
Fri Jul 13 16:30:22 IST 2001


On Fri, Jul 13, 2001 at 04:07:54PM +0100, Glen Gray wrote:
> I'd suggest using clone instead of fork but IIRC it globally restricts
> descriptors being passed to children, i.e. It doesn't give you fine
> control to pass all but this descriptor etc.

it also makes you code linux-only.  a better solution is to...

> On 13 Jul 2001 16:05:02 +0100, Padraig Brady wrote:
> > Is there a flag you can set on a file descriptor (using fcntl or equivalent)
> > to tell the kernel not to copy that particular descriptor to forked 
> > children?

...do this:

    fd_only_in_parent=open(...)
    ...
    pid=fork();
    if (pid == -1) {
	...
    } else if (pid == 0) {
	/* do parent things */
    } else {
	close(fd_only_in_parent);
	/* do child things */
    }

have a lot of fd's you only want in the parent?  put them into an array,
and have the kids loop them close.

kevin

-- 
kevin at suberic.net          "linux is a cancer"  --steve ballmer
fork()'ed on 37058400      "released 25 august 1991, linux is a virgo" --me
meatspace place: home       linux, not just a star-sign:
http://suberic.net/~kevin                             http://www.linux.com/




More information about the ILUG mailing list
Read this without the formatting.
                                                                                                    

 

Hosted by HEAnet


Maintained by the ILUG website team. The aim of Linux.ie is to support and help commercial and private users of Linux in Ireland. You can display ILUG news in your own webpages, read backend information to find out how. Networking services kindly provided by HEAnet, server kindly donated by Dell. Linux is a trademark of Linus Torvalds, used with permission. No penguins were harmed in the production or maintenance of this highly praised website. Looking for the Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!
RSS Version
Powered by Dell