LINUX.ORG.RU

История изменений

Исправление vodz, (текущая версия) :

А вот задание: Модифицировать программу так, чтобы канал использовался для связи двух родственных процессов, исполняющих разные программы.

Задание в том, что вам надо сделать два exec-а разных программ, где изначальная — мониторинг этого обмена? Тогда вам надо два pipe и два fork-а. А O_CLOEXEC тут вовсе не при чём. У pipe всё равно это выставить невозможно, а выставлять fcntl(O_CLOEXEC) всё равно не даст ничего более правильного по сравнению с close(), которые в указанном примере уже написаны и правильно.

Исходная версия vodz, :

А вот задание: Модифицировать программу так, чтобы канал использовался для связи двух родственных процессов, исполняющих разные программы.

Задание в том, что вам надо сделать два exec-а разных программ, где изначальная мониторинг этого обмена? Тогда вам надо два pipe и два fork-а. А O_CLOEXEC тут вовсе не при чём. У pipe всё равно это выставить невозможно, а выставлять fcntl(O_CLOEXEC) всё равно не даст ничего более правильного по сравнению с close(), которые в указанном примере уже написаны и правильно.