以读或写打开一个FIFO会阻塞到另一端也打开。
当open一个FIFO时,非阻塞标志(O_NONBLOCK)会产生下列影响:
没有指定O_NONBLOCK,只读open要阻塞到某个其他进程为写而打开这个FIFO为止。类似的,只写open要阻塞到某个其他进程为读而打开它为止。
如果指定了O_NONBLOCK,则只读open立即返回,但是如果没有进程为读而打开一个FIFO,那么只写open将返回-1,并将errno设置成ENXIO。