Игнорировать SIGPIPE для одного popen'd FILE * - PullRequest
1 голос
/ 29 августа 2009

Код, на который я смотрю, находится здесь:

http://github.com/andymatuschak/Sparkle/blob/8ea15468b4a8c0487ca7a72f3c9e6ffb708c6af8/SUPipedUnarchiver.m

Sparkle похож на плагин. Его можно создать в многопоточной программе. Таким образом, я не хочу вызывать сигнал (SIGPIPE, SIG_IGN) (т. Е. Игнорировать все SIGPIPE), поскольку кто знает, что другие потоки делают / ожидают.

Как отключить сигнал SIGPIPE для этого одного указателя ФАЙЛА, открытого через popen?

1 Ответ

0 голосов
/ 29 августа 2009

Если в спецификациях, которые вы используете для написания своего плагина, не указано, что вы должны делать, я не вижу ничего, что вы можете сделать с pipe (). Возможным способом решения этой проблемы было бы написание эквивалента popen () с использованием socketpair () и fdopen ().

...