|
|
Message-ID: <20211218172646.GP7074@brightrain.aerifal.cx>
Date: Sat, 18 Dec 2021 12:26:46 -0500
From: Rich Felker <dalias@...c.org>
To: Markus Wichmann <nullplan@....net>
Cc: musl@...ts.openwall.com
Subject: Re: Feasibility of FD_CLOEXEC on all streams
On Sat, Dec 18, 2021 at 12:14:15PM -0500, Rich Felker wrote:
> On Sat, Dec 18, 2021 at 05:33:20PM +0100, Markus Wichmann wrote:
> > Hi all,
> >
> > I was recently reading the source code of popen(), and noticed that it
> > has to iterate over all open files to close all the open pipe FDs the
> > child might inherit. And that made me wonder:
> >
> > 1. Does POSIX allow for all FILE streams to have FD_CLOEXEC applied by
> > default?
>
> No. Accessing fileno(f) is permissible subject to following the rules
> for active handle:
>
> https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_05_01
>
> and that entails being able to use them according to the rules for how
> fds are inherited across exec.
Also, the POSIX spec for fopen is rather explicit:
"[CX] The file descriptor associated with the opened stream shall
be allocated and opened as if by a call to open() with the
following flags: ..."
https://pubs.opengroup.org/onlinepubs/9699919799/functions/fopen.html
Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.