Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Нужно написать программу для синхронизации процессов с помощью сигналов на Си под Солярис (или исправить мою версию). Обязательно использовать sigaction, sigprocmask, sigsuspend.

Сам смысл программы состоит в том, чтобы процесс создал потомка, который будет считать определённую линейную функцию (на самом деле, не важно какую, просто чтобы был расчёт). А родитель будет считать квадратные корни. Всё это происходит параллельно. Когда один процесс заканчивает расчёт, он отправляет другому сигнал. Тот, кто первым посчитал, ждёт, пока посчитает второй (т.е. ждёт, пока не придёт соответствующий сигнал). Только после этого оба процесса в своих циклах переходят к следующим расчётам.

В результате на выводе должно быть видно, как процессы периодически дожидаются друг друга.

Я понимаю, что так наверное не очень понятно, что я имею в виду. Для этого (ну, и если кто-то решит исправлять мою версию) прилагаю код того, что удалось написать мне.

Проблема в том, что в моём варианте программы процессы после первого прохода своих циклов встают в бесконечное ожидание, что видно из вывода (скрин прилагаю).

10 лет назад
alla2300
Алла 
30 летРоссия
16 лет в сервисе
Была
8 лет назад