This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: O_CLOEXEC and SOCK_CLOEXEC


Hello,

Roland McGrath, le Thu 08 Oct 2015 10:45:38 -0700, a écrit :
> > On 10/07/2015 10:04 PM, Roland McGrath wrote:
> > > NaCl defines them but doesn't actually support them.
> > > But it doesn't actually support FD_CLOEXEC either.
> > > So you can consider NaCl to "support" O_CLOEXEC.
> > > 
> > > On the Hurd, these are implemented entirely in libc.  So if any part of the
> > > support is missing, it can be fixed in libc.
> > 
> > What about SOCK_NONBLOCK?  There is fallback code which looks at the
> > SOCK_CLOEXEC flag, but actually uses SOCK_NONBLOCK.
> 
> The Hurd's bits/socket.h does define SOCK_NONBLOCK.  But AFAICT it's not
> actually implemented.  Unlike CLOEXEC, this is not something that would be
> implemented in libc.  I don't see signs in the Hurd server code that it's
> implemented there.  But Thomas and/or Samuel would have better information.

It's actually implemented in pfinet etc. through O_NONBLOCK.
Translation between SOCK_NONBLOCK and O_NONBLOCK is in a topgit branch
in our repository.

Samuel


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]