diff src/process.c @ 621:eca8812e61cd

*** empty log message ***
author Jim Blandy <jimb@redhat.com>
date Fri, 24 Apr 1992 08:11:54 +0000
parents 63a8e7b3c547
children 2bb7f23b7ea5
line wrap: on
line diff
--- a/src/process.c	Fri Apr 24 08:11:28 1992 +0000
+++ b/src/process.c	Fri Apr 24 08:11:54 1992 +0000
@@ -403,7 +403,7 @@
 }
 
 #ifdef HAVE_PTYS
-static pty_process;
+static int pty_process;
 
 /* Open an available pty, returning a file descriptor.
    Return -1 on failure.
@@ -1803,6 +1803,7 @@
       if (read_kbd && detect_input_pending ())
 	break;
 
+#ifdef SIGIO
       /* If we think we have keyboard input waiting, but didn't get SIGIO
 	 go read it.  This can happen with X on BSD after logging out.
 	 In that case, there really is no input and no SIGIO,
@@ -1813,6 +1814,7 @@
       */
       if (read_kbd && interrupt_input && (FD_ISSET (fileno (stdin), &Available)))
 	kill (0, SIGIO);
+#endif
 
 #ifdef vipc
       /* Check for connection from other process */
@@ -2106,12 +2108,14 @@
     while (len > 0)
       {
 	int this = len;
+	SIGTYPE (*old_sigpipe)();
+
 	/* Don't send more than 500 bytes at a time.  */
 	if (this > 500)
 	  this = 500;
-	signal (SIGPIPE, send_process_trap);
+	old_sigpipe = signal (SIGPIPE, send_process_trap);
 	rv = write (XFASTINT (XPROCESS (proc)->outfd), buf, this);
-	signal (SIGPIPE, SIG_DFL);
+	signal (SIGPIPE, old_sigpipe);
 	if (rv < 0)
 	  {
 	    if (0