blob: 8af78eab7b1b68b065eabc6ff43804c03ddc40a9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
Upstream-Status: Pending
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
--- man-1.5m2/src/util.c_sigpipe 2006-12-09 13:43:21.000000000 +0100
+++ man-1.5m2/src/util.c 2006-12-09 13:53:13.000000000 +0100
@@ -116,11 +116,14 @@
static int
system1 (const char *command) {
void (*prev_handler)(int) = signal (SIGINT,catch_int);
+ signal (SIGPIPE,SIG_IGN);
int ret = system(command);
/* child terminated with signal? */
if (WIFSIGNALED(ret) &&
- (WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))
+ (WTERMSIG(ret) == SIGINT ||
+ WTERMSIG(ret) == SIGPIPE ||
+ WTERMSIG(ret) == SIGQUIT))
exit(1);
/* or we caught an interrupt? */
@@ -128,6 +131,7 @@
exit(1);
signal(SIGINT,prev_handler);
+ signal(SIGPIPE,SIG_DFL);
return ret;
}
|