aboutsummaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2013-10-17 22:05:08 +0300
committerArnold D. Robbins <arnold@skeeve.com>2013-10-17 22:05:08 +0300
commit45ebe190c01c030e82483a9ef5d032aba32dad1f (patch)
treed266ee0bb659282f5ab03eb310f410543fede1a3 /main.c
parentbafdfda0467c8f0bb6cd88f124fe9ded0f70cd29 (diff)
parenteb152bbe507aef92ece4a301863263818fb50a04 (diff)
downloadegawk-45ebe190c01c030e82483a9ef5d032aba32dad1f.tar.gz
egawk-45ebe190c01c030e82483a9ef5d032aba32dad1f.tar.bz2
egawk-45ebe190c01c030e82483a9ef5d032aba32dad1f.zip
Merge branch 'gawk-4.1-stable'
Diffstat (limited to 'main.c')
-rw-r--r--main.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/main.c b/main.c
index eea28657..8e1da06b 100644
--- a/main.c
+++ b/main.c
@@ -284,6 +284,14 @@ main(int argc, char **argv)
#ifdef SIGBUS
(void) signal(SIGBUS, catchsig);
#endif
+#ifdef SIGPIPE
+ /*
+ * Ignore SIGPIPE so that writes to pipes that fail don't
+ * kill the process but instead return -1 and set errno.
+ * That lets us print a fatal message instead of dieing suddenly.
+ */
+ signal(SIGPIPE, SIG_IGN);
+#endif
(void) sigsegv_install_handler(catchsegv);
#define STACK_SIZE (16*1024)