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