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,它现在可以工作了。