在系统V的早期版本中, 如果无数据可以读时, 则read()返回值为0,而UNIX系统又常将read的返回值0解释为文件结束,因此出现矛盾.
POSIX.1要求, 对于一个非阻塞的描述符如果无数据可读,如果无数据可读, 则read返回-1, 并且errno设置为EAGAIN.
在系统V的早期版本中, 如果无数据可以读时, 则read()返回值为0,而UNIX系统又常将read的返回值0解释为文件结束,因此出现矛盾.
POSIX.1要求, 对于一个非阻塞的描述符如果无数据可读,如果无数据可读, 则read返回-1, 并且errno设置为EAGAIN.