Mercurial > emacs
changeset 9688:31f317386c4c
Never use input_fd if using X.
(stuff_char): Do nothing if read_socket_hook.
(setpgrp_of_tty): Function deleted.
(init_sigio): Take fd as argument. Callers changed.
Don't call request_sigio; do the work here.
(request_sigio, unrequest_sigio): Do nothing if read_socket_hook.
(init_sys_modes): Don't call EMACS_GET_TTY unless we are going
to change the settings.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 25 Oct 1994 09:51:50 +0000 |
parents | 1048e2d032e6 |
children | fb713e1560d1 |
files | src/sysdep.c |
diffstat | 1 files changed, 42 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/src/sysdep.c Tue Oct 25 09:49:53 1994 +0000 +++ b/src/sysdep.c Tue Oct 25 09:51:50 1994 +0000 @@ -251,6 +251,9 @@ stuff_char (c) char c; { + if (read_socket_hook) + return; + /* Should perhaps error if in batch mode */ #ifdef TIOCSTI ioctl (input_fd, TIOCSTI, &c); @@ -563,13 +566,6 @@ #endif /* not VMS */ #endif /* subprocesses */ - -/*ARGSUSED*/ -setpgrp_of_tty (pid) - int pid; -{ - EMACS_SET_TTY_PGRP (input_fd, &pid); -} /* Record a signal code and the handler for it. */ struct save_signal @@ -766,12 +762,14 @@ int old_fcntl_flags; -init_sigio () +init_sigio (fd) + int fd; { #ifdef FASYNC - old_fcntl_flags = fcntl (input_fd, F_GETFL, 0) & ~FASYNC; + old_fcntl_flags = fcntl (fd, F_GETFL, 0) & ~FASYNC; + fcntl (fd, F_SETFL, old_fcntl_flags | FASYNC); #endif - request_sigio (); + interrupts_deferred = 0; } reset_sigio () @@ -783,6 +781,9 @@ request_sigio () { + if (read_socket_hook) + return; + #ifdef SIGWINCH sigunblock (sigmask (SIGWINCH)); #endif @@ -793,6 +794,9 @@ unrequest_sigio () { + if (read_socket_hook) + return; + #ifdef SIGWINCH sigblock (sigmask (SIGWINCH)); #endif @@ -806,6 +810,10 @@ request_sigio () { int on = 1; + + if (read_socket_hook) + return; + ioctl (input_fd, FIOASYNC, &on); interrupts_deferred = 0; } @@ -814,6 +822,9 @@ { int off = 0; + if (read_socket_hook) + return; + ioctl (input_fd, FIOASYNC, &off); interrupts_deferred = 1; } @@ -829,6 +840,9 @@ int on = 1; sigset_t st; + if (read_socket_hook) + return; + sigemptyset(&st); sigaddset(&st, SIGIO); ioctl (input_fd, FIOASYNC, &on); @@ -840,6 +854,9 @@ { int off = 0; + if (read_socket_hook) + return; + ioctl (input_fd, FIOASYNC, &off); interrupts_deferred = 1; } @@ -848,11 +865,17 @@ request_sigio () { + if (read_socket_hook) + return; + croak ("request_sigio"); } unrequest_sigio () { + if (read_socket_hook) + return; + croak ("unrequest_sigio"); } @@ -1145,14 +1168,14 @@ narrow_foreground_group (); #endif - EMACS_GET_TTY (input_fd, &old_tty); - #ifdef HAVE_X_WINDOWS /* Emacs' window system on MSDOG uses the `internal terminal' and therefore needs the initialization code below. */ if (!read_socket_hook && EQ (Vwindow_system, Qnil)) #endif { + EMACS_GET_TTY (input_fd, &old_tty); + tty = old_tty; #if defined (HAVE_TERMIO) || defined (HAVE_TERMIOS) @@ -1353,7 +1376,7 @@ { old_fcntl_owner = fcntl (input_fd, F_GETOWN, 0); fcntl (input_fd, F_SETOWN, getpid ()); - init_sigio (); + init_sigio (input_fd); } #endif /* F_GETOWN */ #endif /* F_SETOWN_BUG */ @@ -1361,7 +1384,7 @@ #ifdef BSD4_1 if (interrupt_input) - init_sigio (); + init_sigio (input_fd); #endif #ifdef VMS /* VMS sometimes has this symbol but lacks setvbuf. */ @@ -1849,7 +1872,8 @@ SYS$WAITFR (timer_ef); /* Wait for timer expiry only */ } -init_sigio () +init_sigio (fd) + int fd; { request_sigio (); } @@ -2380,12 +2404,13 @@ return open (path, oflag); } -init_sigio () +init_sigio (fd) + int fd; { if (noninteractive) return; lmode = LINTRUP | lmode; - ioctl (0, TIOCLSET, &lmode); + ioctl (fd, TIOCLSET, &lmode); } reset_sigio ()