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