![除了编辑器之外,是否还有任何程序依赖于 O_NDELAY 文件状态标志(O_NONBLOCK 的前身)](https://linux22.com/image/201401/%E9%99%A4%E4%BA%86%E7%BC%96%E8%BE%91%E5%99%A8%E4%B9%8B%E5%A4%96%EF%BC%8C%E6%98%AF%E5%90%A6%E8%BF%98%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E4%BE%9D%E8%B5%96%E4%BA%8E%20O_NDELAY%20%E6%96%87%E4%BB%B6%E7%8A%B6%E6%80%81%E6%A0%87%E5%BF%97%EF%BC%88O_NONBLOCK%20%E7%9A%84%E5%89%8D%E8%BA%AB%EF%BC%89.png)
最近,我一直在研究O_NONBLOCK
标准中指定的功能。
从我目前所见,这个标志的前身 -O_NDELAY
一直存在,可以追溯到 UNIX System III。我认为这是因为这是“轮询”文件以获得 IO 可用性的唯一方法(直到 STREAMS 和 Sockets 时代poll
才select
存在)。标准开发人员选择发明该O_NONBLOCK
标志是因为它被认为与 return-0-on-EOF 语义冲突是不可取的。
有没有依赖的程序O_NDELAY
?我可以将文本编辑器视为此类程序之一(因为它们可能偶尔想要保存备份),但是还有其他程序吗?