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: [PATCH] Assume that pipe2 is always available


I have looked at the NaCl port.

It does not support fork or the exec* family of functions. This means that the O_CLOEXEC flag is quite meaningless. O_NONBLOCK is still useful. The races can largely be obscured due to the lack of fork support. The exception is dup3, where the new descriptor will temporarily lack the O_CLOEXEC flag, and this flag is actually observable by a racing thread (because the descriptor is specified by the caller). But this looks like a minor issue.

In any case, I think it is possible to implement a reasonable emulation of pipe2 and dup3 in glibc for NaCl (unlike Linux, where kernel support would be needed). So I would like to proceed with these cleanups even if we decide not to remove the NaCl port.

Thanks,
Florian


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