Использование сигналов и сигпайпа
Я работаю над заданием, которое включает в себя написание программы для обработки данных (вычисления пи) с использованием форка (процессов), сигналов и выбора.
Сейчас я работаю над сигналами, и я думаю, что хочу использовать SIGPIPE, поэтому, если программа его перехватывает, она снова пытается записать в канал (если процесс пытается записать в канал, у которого нет читателя , будет отправлен SIGPIPE).
Я использую fork () в main (), чтобы назначить каждому процессу одну и ту же работу, отправив их рабочей функции.
void worker(int id) {
.... (this piece of code is not relevant)
if(write(pfd[id][1], &c, sizeof(c)) == -1)
printf("Error occurred: %s\n",strerror(errno));
}
Как я могу реализовать сигналы в этой функции для перехвата SIGPIPE и повторной записи в канал?
Спасибо!