一般的nonblocking都是先获得fd,然后对这个fd做nonblocking的read/write。
但是对于regular file来说,fd = open(path...)本身也是要读磁盘的,"open"自己就不是nonblocking。
有没有其他的系统调用可以取代open来做nonblocking?
从man page里看open + O_NONBLOCK是不行的。
感觉思路应该是类似socket,先用api1 "socket"得到fd,然后设置成nonblocking,再用api2 "connect"。
2步走的方法做到了nonblocking,但是打开普通文件好像只有"open",没有别的系统调用了。
--
FROM 27.26.0.*