Am 25.06.2012 16:34, schrieb Eric Blake:
> Also, I noticed in the fnctl man page that F_SETFL: "On
Linux this
> command can change only the O_APPEND, O_ASYNC, O_DIRECT, O_NOATIME, and
> O_NONBLOCK flags." So I'll only set/unset these flags.
O_NDELAY is the obsolete spelling of O_NONBLOCK; which means the only
other flags in your list not supported by Linux are O_LARGEFILE (which I
said was pointless), O_NOCTTY (which only has an impact at open() and
not later on, so it is not worth worrying about), and O_SYNC (so for
that one, you should error out if not set correctly, as the difference
between O_SYNC on vs. off is significant).
As far as I know, newer kernels can change O_SYNC with fcntl, so it's
probably worth trying, but you'd have to check if it has really been set.
Kevin