Sophie

Sophie

distrib > Mageia > 2 > i586 > media > core-release-src > by-pkgid > 6078044855492bf58378d0e4e81a7bf4 > files > 18

man-1.6g-6.mga2.src.rpm

--- 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;
 }