ffmpeg: Ignore SIGPIPE
authorMark Thompson <sw@jkqxz.net>
Thu, 18 Jan 2018 23:24:05 +0000 (23:24 +0000)
committerMark Thompson <sw@jkqxz.net>
Thu, 25 Jan 2018 22:54:10 +0000 (22:54 +0000)
commit74cf4a75f74ee3d80d021fc50b05e38bff5940e3
treea86d068c59bdfab6a3e12b2dab3f8ebcafb43688
parent04e4ab44d7c5eca9e1929b34d8fb966afc403e3a
ffmpeg: Ignore SIGPIPE

On systems which deliver SIGPIPE (Unices), a broken pipe will currently
result in the immediate termination of the ffmpeg process (the default
disposition as required by POSIX).  This is undesirable, because while
the broken pipe is likely fatal to useful cleanup of whatever component
is writing to it, there might be other components which can do useful
cleanup - for example, a muxer on another stream may still need to write
indexes to complete a file.  Therefore, set the signal disposition for
SIGPIPE to ignore the signal - the call which caused the signal will
fail with EPIPE and the error will be propagated upwards like any other
I/O failure on a single stream.
fftools/ffmpeg.c