场景

    代码 if((fd = open("my_fifo" , O_WR|O_NONBLOCK)) < 0)


分析

    返回值文件句柄是-1,错误提示(read: Resource temporarily unavailable),设置成无阻塞的模式,就必须匹配上可读写的模式


解决

    if((fd = open("my_fifo" , O_RDWR|O_NONBLOCK)) < 0)

    if((mkfifo("my_fifo", O_CREAT|O_RDWR|0666)) < 0)


总结

    上述是一种比较常见的模式匹配不正确,导致文件打开异常的错误。在其他类似这样子的模式匹配的情况下,每一种模式之间的匹配都是有特定的规则