LINUX.ORG.RU

Цивилизованный способ использования pipe


0

0

Нужно было тут по заданию лабораторной написать программу, в которой два процесса читают и пишут данные в один двухсторонний pipe. Возникла такая проблема - начинаются гонки за право сожрать информацию с выхода канала, тот процесс, который проиграл, после этого зависает на функции read, а после этого виснет и второй, потому что ждёт ответа.

Думал-думал и всунул просто в оба процесса искуственную задержку. Заработало нормально, в принципе.

Вопрос к знатокам - есть ли более цивилизованный способ разрулить эту проблему ? Я бы, конечно, использовал два канала, но задание обязывает...

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.