summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/man/man-1.6f/man-1.5m2-sigpipe.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-extended/man/man-1.6f/man-1.5m2-sigpipe.patch')
-rw-r--r--meta/recipes-extended/man/man-1.6f/man-1.5m2-sigpipe.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/meta/recipes-extended/man/man-1.6f/man-1.5m2-sigpipe.patch b/meta/recipes-extended/man/man-1.6f/man-1.5m2-sigpipe.patch
new file mode 100644
index 0000000000..81fb2d702a
--- /dev/null
+++ b/meta/recipes-extended/man/man-1.6f/man-1.5m2-sigpipe.patch
@@ -0,0 +1,26 @@
1--- man-1.5m2/src/util.c_sigpipe 2006-12-09 13:43:21.000000000 +0100
2+++ man-1.5m2/src/util.c 2006-12-09 13:53:13.000000000 +0100
3@@ -116,11 +116,14 @@
4 static int
5 system1 (const char *command) {
6 void (*prev_handler)(int) = signal (SIGINT,catch_int);
7+ signal (SIGPIPE,SIG_IGN);
8 int ret = system(command);
9
10 /* child terminated with signal? */
11 if (WIFSIGNALED(ret) &&
12- (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))
13+ (WTERMSIG(ret) == SIGINT ||
14+ WTERMSIG(ret) == SIGPIPE ||
15+ WTERMSIG(ret) == SIGQUIT))
16 exit(1);
17
18 /* or we caught an interrupt? */
19@@ -128,6 +131,7 @@
20 exit(1);
21
22 signal(SIGINT,prev_handler);
23+ signal(SIGPIPE,SIG_DFL);
24 return ret;
25 }
26