From 5b7042ea0a68d41c4fbd0d6228f77975ebf8c38b Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Mon, 27 Mar 2017 20:30:14 +0300 Subject: Die with SIGPIPE when EPIPE happens on stdout. --- awk.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'awk.h') diff --git a/awk.h b/awk.h index 163ad362..c1e9b4a9 100644 --- a/awk.h +++ b/awk.h @@ -1966,7 +1966,9 @@ erealloc_real(void *ptr, size_t count, const char *where, const char *var, const #ifdef SIGPIPE #define ignore_sigpipe() signal(SIGPIPE, SIG_IGN) #define set_sigpipe_to_default() signal(SIGPIPE, SIG_DFL) +#define die_via_sigpipe() (signal(SIGPIPE, SIG_DFL), kill(getpid(), SIGPIPE)) #else #define ignore_sigpipe() #define set_sigpipe_to_default() +#define die_via_sigpipe() exit(EXIT_FATAL) #endif -- cgit v1.2.3