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.