我在C语言中打开FIFO遇到了麻烦。首先,我使用mkfifo()函数创建它们,并设置权限为0777。当我尝试打开它们时,只能成功打开第一个FIFO,然后进程将卡在打开第二个FIFO上。以下是我的代码:
fd1 = open("FIFO1_PATH", O_WRONLY );
fd2 = open("FIFO2_PATH", O_WRONLY );
这段代码不会被执行,但是当我注释掉第二行时,它就可以执行!一个进程打开FIFO的数量有限制吗?我不知道为什么会发生这种情况...我已经花了3个小时试图找出问题所在,但没有任何结果 :(