Имея проблемы с открытием FIFO в C

У меня возникли проблемы с открытием FIFO в C .. Сначала я создал их с помощью функции mkfifo () с разрешением: 0777, и когда я попытался их открыть, ему удалось открыть только первый FIFO, тогда процесс застрянет в открытие второго FIFO, и это мой код:

fd1 = open("FIFO1_PATH", O_WRONLY ); fd2 = open("FIFO2_PATH", O_WRONLY ); 

Это не будет выполнено, но как только я прокомментирую вторую строку, она выполняется! Существует ли ограничение на количество открытых FIFO на процесс? Я не знаю, почему это происходит. Я просто потратил 3 часа, пытаясь выяснить, в чем проблема, но без каких-либо результатов 🙁

    Чтобы ответить на ваш вопрос о лимитах – по умолчанию в Linux 1024 дескриптора файла для процесса. Ваша проблема, вероятно, не открывает второй FIFO для чтения, настолько открытого для записи блоков.

    Я просто понял это правильно 🙂

    Я должен позволить процессу открытия ждать, пока какой-либо другой процесс не откроет FIFO для чтения (и это будет заблокированное чтение). Сделав сон в процессе записи, я гарантирую, что другой процесс откроется для чтения.