aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2005-05-21 11:58:49 +0000
committerEli Zaretskii2005-05-21 11:58:49 +0000
commit0ff692700bb0cb6f75e292c6817debe2ef65224e (patch)
tree42c92ae42c194032be803a52fe1374f96ec85486 /src
parent6f0de615c1fb07e988e88b405b7d60f7cf7edf93 (diff)
downloademacs-0ff692700bb0cb6f75e292c6817debe2ef65224e.tar.gz
emacs-0ff692700bb0cb6f75e292c6817debe2ef65224e.zip
(send_process): Restore the SIGPIPE handler if we catch a SIGPIPE.
Diffstat (limited to 'src')
-rw-r--r--src/process.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/process.c b/src/process.c
index aad9e70731f..db7d9350821 100644
--- a/src/process.c
+++ b/src/process.c
@@ -5134,6 +5134,7 @@ send_process (proc, buf, len, object)
5134 int rv; 5134 int rv;
5135 struct coding_system *coding; 5135 struct coding_system *coding;
5136 struct gcpro gcpro1; 5136 struct gcpro gcpro1;
5137 volatile SIGTYPE (*old_sigpipe)();
5137 5138
5138 GCPRO1 (object); 5139 GCPRO1 (object);
5139 5140
@@ -5258,7 +5259,6 @@ send_process (proc, buf, len, object)
5258 while (len > 0) 5259 while (len > 0)
5259 { 5260 {
5260 int this = len; 5261 int this = len;
5261 SIGTYPE (*old_sigpipe)();
5262 5262
5263 /* Decide how much data we can send in one batch. 5263 /* Decide how much data we can send in one batch.
5264 Long lines need to be split into multiple batches. */ 5264 Long lines need to be split into multiple batches. */
@@ -5401,6 +5401,7 @@ send_process (proc, buf, len, object)
5401#endif /* not VMS */ 5401#endif /* not VMS */
5402 else 5402 else
5403 { 5403 {
5404 signal (SIGPIPE, old_sigpipe);
5404#ifndef VMS 5405#ifndef VMS
5405 proc = process_sent_to; 5406 proc = process_sent_to;
5406 p = XPROCESS (proc); 5407 p = XPROCESS (proc);