changeset 62581:7f6a053bbca4

(send_process): Restore the SIGPIPE handler if we catch a SIGPIPE.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 21 May 2005 11:58:49 +0000
parents cc4bd3fe9a9d
children 66abcfdcc731
files src/process.c
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/process.c	Sat May 21 11:48:00 2005 +0000
+++ b/src/process.c	Sat May 21 11:58:49 2005 +0000
@@ -5134,6 +5134,7 @@
   int rv;
   struct coding_system *coding;
   struct gcpro gcpro1;
+  volatile SIGTYPE (*old_sigpipe)();
 
   GCPRO1 (object);
 
@@ -5258,7 +5259,6 @@
       while (len > 0)
 	{
 	  int this = len;
-	  SIGTYPE (*old_sigpipe)();
 
 	  /* Decide how much data we can send in one batch.
 	     Long lines need to be split into multiple batches.  */
@@ -5401,6 +5401,7 @@
 #endif /* not VMS */
   else
     {
+      signal (SIGPIPE, old_sigpipe);
 #ifndef VMS
       proc = process_sent_to;
       p = XPROCESS (proc);