Re: F_DUPFD_CLOEXEC implementation

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Ulrich Drepper <drepper@...>
Cc: <linux-kernel@...>, <akpm@...>
Date: Saturday, September 29, 2007 - 8:31 pm

Hi Ulrich,

On Friday 28 September 2007 18:34, Ulrich Drepper wrote:

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);
read(fd, ...)
...other process may see flags changed under its feet!...
fcntl(fd, F_SETFL, old_flags);

Can this be fixed?
--
vda
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
F_DUPFD_CLOEXEC implementation, Ulrich Drepper, (Fri Sep 28, 1:34 pm)
Re: F_DUPFD_CLOEXEC implementation, Denys Vlasenko, (Sat Sep 29, 8:31 pm)
Re: F_DUPFD_CLOEXEC implementation, Miquel van Smoorenburg, (Sun Sep 30, 8:59 pm)
Re: F_DUPFD_CLOEXEC implementation, Davide Libenzi, (Sun Sep 30, 7:11 pm)
Re: F_DUPFD_CLOEXEC implementation, Denys Vlasenko, (Sun Sep 30, 7:58 pm)
Re: F_DUPFD_CLOEXEC implementation, Davide Libenzi, (Sun Sep 30, 11:15 pm)
Re: F_DUPFD_CLOEXEC implementation, Denys Vlasenko, (Mon Oct 1, 6:07 am)
Re: F_DUPFD_CLOEXEC implementation, Al Viro, (Mon Oct 1, 2:16 pm)
Re: F_DUPFD_CLOEXEC implementation, Michael Tokarev, (Mon Oct 1, 2:53 pm)
Re: F_DUPFD_CLOEXEC implementation, Denys Vlasenko, (Mon Oct 1, 2:49 pm)
Re: F_DUPFD_CLOEXEC implementation, Davide Libenzi, (Mon Oct 1, 3:04 pm)
Re: F_DUPFD_CLOEXEC implementation, Denys Vlasenko, (Tue Oct 2, 5:28 am)
Re: F_DUPFD_CLOEXEC implementation, Davide Libenzi, (Tue Oct 2, 3:52 pm)
Re: F_DUPFD_CLOEXEC implementation, Davide Libenzi, (Fri Sep 28, 2:19 pm)
Re: F_DUPFD_CLOEXEC implementation, Ulrich Drepper, (Fri Sep 28, 2:23 pm)