>From the signal(2) man page: The behavior of signal() varies across UNIX versions, and has also var‐ ied historically across different versions of Linux. Avoid its use: use sigaction(2) instead. Replaced signal() with sigaction() in write_or_die.c Signed-off-by: Jeremiah Mahler <jmmahler@xxxxxxxxx> --- write_or_die.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/write_or_die.c b/write_or_die.c index b50f99a..f5fdec8 100644 --- a/write_or_die.c +++ b/write_or_die.c @@ -2,8 +2,12 @@ static void check_pipe(int err) { + struct sigaction sa; + if (err == EPIPE) { - signal(SIGPIPE, SIG_DFL); + memset(&sa, 0, sizeof(sa)); + sa.sa_handler = SIG_DFL; + sigaction(SIGPIPE, &sa, NULL); raise(SIGPIPE); /* Should never happen, but just in case... */ exit(141); -- 2.0.0.8.g7bf6e1f.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html