const keep_sigpipe: bool = if (@hasDecl(options_override, "keep_sigpipe")) options_override.keep_sigpipe else false;
[src]
By default Zig disables SIGPIPE by setting a “no-op” handler for it. Set this option to true
to prevent that.
Note that we use a “no-op” handler instead of SIG_IGN because it will not be inherited by any child process.
SIGPIPE is triggered when a process attempts to write to a broken pipe. By default, SIGPIPE will terminate the process instead of exiting. It doesn’t trigger the panic handler so in many cases it’s unclear why the process was terminated. By capturing SIGPIPE instead, functions that write to broken pipes will return the EPIPE error (error.BrokenPipe) and the program can handle it like any other error.