[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bash: [on native FreeBSD] unable to set FD_CLOEXEC flag

On 30/06/12 04:23, Jonathan Nieder wrote:
> When did O_CLOEXEC get involved?  This report was about a use of

I've been *assuming* (as the only thing that makes sense) the situation
is something like:

Enabling FD_CLOEXEC on an open fd was previously not implemented (in the
upstream kernel that we shipped with squeeze).  So I think O_CLOEXEC is
considered as zero such that:

sink = open("/dev/null", O_WRONLY)

is taken by our kernels to imply O_CLOEXEC unconditionally.  Any fcntl()
trying to enable it later would be a no-op.

But Stefan was trying to run a GNU/kFreeBSD userland on an upstream
FreeBSD kernel with FD_CLOEXEC support.  This won't assume an implicit
O_CLOEXEC, yet our glibc still doesn't know how to enable FD_CLOEXEC and
returns an error.

So I suppose there might be a way to implement FD_CLOEXEC (to cater for
this special case) without implementing the O_CLOEXEC option yet.  If
any of the above was a correct assumption.

Steven Chamberlain

Reply to: