Messages in this thread | | | Date | Fri, 5 Mar 2010 12:43:54 -0700 | From | Mike Hayward <> | Subject | Re: O_NONBLOCK is NOOP on block devices |
| |
Hi Jeff,
> I guess I should note that I've suggested nonblocking I/O for files > before: > > http://linux.derkeiler.com/Mailing-Lists/Kernel/2004-10/0290.html > > I'll also note that enabling such a patch broke apps that accessed cd > burners, for example, since O_NONBLOCK had some preexisting semantics > there that I fail to recall.
Sounds like nonblocking read/write calls are strongly tied to threads instead of state related to a file descriptor. I haven't poked around in there, but perhaps the current linux io architecture is just too set in stone to design an efficient non blocking mechanism. It would be a shame not to fix it simply because some broken apps depend upon blocking behavior when they have been explicitly specifying O_NONBLOCK via open or fcntl.
At least for now we can describe it's actual behavior in the man pages; I will be submitting a man page patch for consideration later today.
- Mike
| |