Re: [PATCH] Ignore SIGPIPE when running a filter driver
Am 20.02.2012 23:11, schrieb Junio C Hamano:
Show 23 quoted lines
> Jehan Bing <jehan@orb.com> writes:
>> @@ -360,12 +361,16 @@ static int filter_buffer(int in, int out, void *data)
>> if (start_command(&child_process))
>> return error("cannot fork to run external filter %s", params->cmd);
>>
>> + sigchain_push(SIGPIPE, SIG_IGN);
>> +
>> write_err = (write_in_full(child_process.in, params->src, params->size) < 0);
>> if (close(child_process.in))
>> write_err = 1;
>> if (write_err)
>> error("cannot feed the input to external filter %s", params->cmd);
>>
>> + sigchain_pop(SIGPIPE);
>> +
>
> Thanks.
>
> I think this is OK on a POSIX system where this function is run by
> start_async() which is implemented with a forked child process.
>
> I do not now if it poses a issue on Windows, though. Johannes, any
> comments?I do not expect the change to cause a problem on Windows.
-- Hannes