aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKaroly Lorentey2006-01-11 14:51:51 +0000
committerKaroly Lorentey2006-01-11 14:51:51 +0000
commit6bbba5a627cf59d22d9b21f8f7405e43af2e94cf (patch)
treef7fa2589b087667c561e7e8d9d5e3de5a8d702fb /src
parenta8bf7299ee74781dd485c33c5eac20aee0f0ebef (diff)
downloademacs-6bbba5a627cf59d22d9b21f8f7405e43af2e94cf.tar.gz
emacs-6bbba5a627cf59d22d9b21f8f7405e43af2e94cf.zip
Fix C-g during `make-network-process'. (Reported by Mark Plaksin.)
* src/process.c (Fmake_network_process): Don't unrequest_sigio on modern systems. * src/keyboard.c (Fset_input_interrupt_mode): Cosmetic change. * src/sysdep.c (request_sigio): Make it a no-op if noninteractive. (unrequest_sigio): Make it a no-op if noninteractive. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-494
Diffstat (limited to 'src')
-rw-r--r--src/keyboard.c8
-rw-r--r--src/process.c5
-rw-r--r--src/sysdep.c17
3 files changed, 15 insertions, 15 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index d923cfd31a8..6c94ef30efa 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -10741,11 +10741,8 @@ See also `current-input-mode'. */)
10741 int new_interrupt_input; 10741 int new_interrupt_input;
10742#ifdef SIGIO 10742#ifdef SIGIO
10743/* Note SIGIO has been undef'd if FIONREAD is missing. */ 10743/* Note SIGIO has been undef'd if FIONREAD is missing. */
10744 if (0
10745#ifdef HAVE_X_WINDOWS 10744#ifdef HAVE_X_WINDOWS
10746 || x_display_list != NULL 10745 if (x_display_list != NULL)
10747#endif
10748 )
10749 { 10746 {
10750 /* When using X, don't give the user a real choice, 10747 /* When using X, don't give the user a real choice,
10751 because we haven't implemented the mechanisms to support it. */ 10748 because we haven't implemented the mechanisms to support it. */
@@ -10756,6 +10753,7 @@ See also `current-input-mode'. */)
10756#endif /* NO_SOCK_SIGIO */ 10753#endif /* NO_SOCK_SIGIO */
10757 } 10754 }
10758 else 10755 else
10756#endif
10759 new_interrupt_input = !NILP (interrupt); 10757 new_interrupt_input = !NILP (interrupt);
10760#else /* not SIGIO */ 10758#else /* not SIGIO */
10761 new_interrupt_input = 0; 10759 new_interrupt_input = 0;
@@ -10787,7 +10785,7 @@ See also `current-input-mode'. */)
10787 } 10785 }
10788 return Qnil; 10786 return Qnil;
10789} 10787}
10790 10788
10791DEFUN ("set-output-flow-control", Fset_output_flow_control, Sset_output_flow_control, 1, 2, 0, 10789DEFUN ("set-output-flow-control", Fset_output_flow_control, Sset_output_flow_control, 1, 2, 0,
10792 doc: /* Enable or disable ^S/^Q flow control for output to TERMINAL. 10790 doc: /* Enable or disable ^S/^Q flow control for output to TERMINAL.
10793If FLOW is non-nil, flow control is enabled and you cannot use C-s or 10791If FLOW is non-nil, flow control is enabled and you cannot use C-s or
diff --git a/src/process.c b/src/process.c
index 05ea7c863b0..9d4e203452e 100644
--- a/src/process.c
+++ b/src/process.c
@@ -3086,6 +3086,10 @@ usage: (make-network-process &rest ARGS) */)
3086 3086
3087 open_socket: 3087 open_socket:
3088 3088
3089#ifdef __ultrix__
3090 /* Previously this was compiled unconditionally, but that seems
3091 unnecessary on modern systems, and `unrequest_sigio' was a noop
3092 under X anyway. --lorentey */
3089 /* Kernel bugs (on Ultrix at least) cause lossage (not just EINTR) 3093 /* Kernel bugs (on Ultrix at least) cause lossage (not just EINTR)
3090 when connect is interrupted. So let's not let it get interrupted. 3094 when connect is interrupted. So let's not let it get interrupted.
3091 Note we do not turn off polling, because polling is only used 3095 Note we do not turn off polling, because polling is only used
@@ -3102,6 +3106,7 @@ usage: (make-network-process &rest ARGS) */)
3102 record_unwind_protect (unwind_request_sigio, Qnil); 3106 record_unwind_protect (unwind_request_sigio, Qnil);
3103 unrequest_sigio (); 3107 unrequest_sigio ();
3104 } 3108 }
3109#endif
3105 3110
3106 /* Do this in case we never enter the for-loop below. */ 3111 /* Do this in case we never enter the for-loop below. */
3107 count1 = SPECPDL_INDEX (); 3112 count1 = SPECPDL_INDEX ();
diff --git a/src/sysdep.c b/src/sysdep.c
index 956323f3a3b..25db4c73080 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -1037,12 +1037,8 @@ reset_sigio (fd)
1037void 1037void
1038request_sigio () 1038request_sigio ()
1039{ 1039{
1040 /* XXX read_socket_hook is not global anymore. Is blocking SIGIO 1040 if (noninteractive)
1041 bad under X? */
1042#if 0
1043 if (noninteractive || read_socket_hook)
1044 return; 1041 return;
1045#endif
1046 1042
1047#ifdef SIGWINCH 1043#ifdef SIGWINCH
1048 sigunblock (sigmask (SIGWINCH)); 1044 sigunblock (sigmask (SIGWINCH));
@@ -1055,13 +1051,14 @@ request_sigio ()
1055void 1051void
1056unrequest_sigio (void) 1052unrequest_sigio (void)
1057{ 1053{
1058 /* XXX read_socket_hook is not global anymore. Is blocking SIGIO 1054 if (noninteractive)
1059 bad under X? */ 1055 return;
1060#if 0 1056
1061 if (noninteractive || read_socket_hook) 1057#if 0 /* XXX What's wrong with blocking SIGIO under X? */
1058 if (x_display_list)
1062 return; 1059 return;
1063#endif 1060#endif
1064 1061
1065#ifdef SIGWINCH 1062#ifdef SIGWINCH
1066 sigblock (sigmask (SIGWINCH)); 1063 sigblock (sigmask (SIGWINCH));
1067#endif 1064#endif