Re: F_DUPFD_CLOEXEC implementation
From: Denys Vlasenko
Date: Sat Sep 29 2007 - 20:32:27 EST
On Friday 28 September 2007 18:34, Ulrich Drepper wrote:
> One more small change to extend the availability of creation of
> file descriptors with FD_CLOEXEC set. Adding a new command to
> fcntl() requires no new system call and the overall impact on
> code size if minimal.
Tangential question: do you have any idea how userspace can
safely do nonblocking read or write on a potentially-shared fd?
IIUC, currently it cannot be done without races:
old_flags = fcntl(fd, F_GETFL);
...other process may change flags!...
fcntl(fd, F_SETFL, old_flags | O_NONBLOCK);
...other process may see flags changed under its feet!...
fcntl(fd, F_SETFL, old_flags);
Can this be fixed?
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/