написание программы в linux

Описание
Нужно для линукс организовать двустороннюю поочередную связь процесса-родителя и процесса-ребенка через pipe, используя для синхронизации сигналы SIGUSR1 и SigUSR2 Должна быть синхронизация передачи через pipe. Сначала ребенок родителю отправляет сообщение, в это время у родителя должна быть заблокирована способность записывать в pipe информацию. После того, как сообщение отправлено, ребенок должен ожидать сигнала от родителя, чтобы начать читать от него информацию. Цель алгоритма — не допустить, чтобы ребенок прочитал из pipe свою собственную информацию. конкретную рабочую программу в исходном коде с расширением *.c