Unix系统编程:文件打开错误

Unix系统编程:文件打开错误,unix,file-io,Unix,File Io,我正在尝试打开一个文件,该文件是我在“打开”命令之前创建的。但它挂起在open()命令行。你知道吗 if(mkfifo("test", S_IRWXU | S_IRWXG | S_IRWXO)) { printf("File creation error.\n"); return 0; } // Hangs below while (((test_fd = open("test", O_RDONLY)) == -1) && (errno == EINTR));

我正在尝试打开一个文件,该文件是我在“打开”命令之前创建的。但它挂起在
open()
命令行。你知道吗

if(mkfifo("test", S_IRWXU | S_IRWXG | S_IRWXO))
{
    printf("File creation error.\n");
    return 0;
}

// Hangs below
while (((test_fd = open("test", O_RDONLY)) == -1) && (errno == EINTR));

从mkfifo的手册页:

 Opening a FIFO for reading normally blocks until some other process opens  the  same  FIFO for  writing,  and vice versa.
 See fifo(7) for nonblocking handling of FIFO special files.

非常感谢你。我刚刚用O_RDWR更改了O_RDONLY,它现在可以工作了。