我正在尝试打开一个fifo管道,一个线程写入该管道,同步都很好。但是,出于可以理解的原因,我需要以附加模式打开它。
当我按如下方式打开它时:
ret_val = mkfifo(lpipename.c_str(), 0666);
if((pipehandler = open(lpipename.c_str(), O_RDWR)) < 1)
{
perror("Failed to open pipe file");
syslog(LOG_ERR, "Failed to open pipe file");
exit(1);
}
我没有任何问题,当我的文件夹“ls”时,我可以看到标记为黄色的管道
但是当我尝试如下打开管道时,在附加模式下:
ret_val = mkfifo(lpipename.c_str(), 0666);
if((pipehandler = open(lpipename.c_str(), O_RDWR| O_APPEND)) < 1)
{
perror("Failed to open pipe file");
syslog(LOG_ERR, "Failed to open pipe file");
exit(1);
}
我根本看不到文件夹中的管道。作为记录,我在任何一个选项中都没有收到错误有人知道为什么吗?
谢谢