summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dispextern.h1
-rw-r--r--src/emacs.c1
-rw-r--r--src/keyboard.c4
-rw-r--r--src/sysdep.c9
4 files changed, 2 insertions, 13 deletions
diff --git a/src/dispextern.h b/src/dispextern.h
index 239c4425646..cf3d1ecaf9c 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -3349,7 +3349,6 @@ void unrequest_sigio (void);
bool tabs_safe_p (int);
void init_baud_rate (int);
void init_sigio (int);
-void ignore_sigio (void);
/* Defined in xfaces.c. */
diff --git a/src/emacs.c b/src/emacs.c
index 9b78a70428e..b5d3ab46a00 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -2028,7 +2028,6 @@ shut_down_emacs (int sig, Lisp_Object stuff)
/* There is a tendency for a SIGIO signal to arrive within exit,
and cause a SIGHUP because the input descriptor is already closed. */
unrequest_sigio ();
- ignore_sigio ();
/* Do this only if terminating normally, we want glyph matrices
etc. in a core dump. */
diff --git a/src/keyboard.c b/src/keyboard.c
index 945019e8418..77af44a7d46 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -3663,8 +3663,7 @@ kbd_buffer_store_event_hold (register struct input_event *event,
/* Don't read keyboard input until we have processed kbd_buffer.
This happens when pasting text longer than KBD_BUFFER_SIZE/2. */
hold_keyboard_input ();
- if (!noninteractive)
- ignore_sigio ();
+ unrequest_sigio ();
stop_polling ();
}
#endif /* subprocesses */
@@ -3829,6 +3828,7 @@ kbd_buffer_get_event (KBOARD **kbp,
/* Start reading input again because we have processed enough to
be able to accept new events again. */
unhold_keyboard_input ();
+ request_sigio ();
start_polling ();
}
#endif /* subprocesses */
diff --git a/src/sysdep.c b/src/sysdep.c
index 01692c2d214..4b4801d58c9 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -649,15 +649,6 @@ unrequest_sigio (void)
interrupts_deferred = 1;
#endif
}
-
-void
-ignore_sigio (void)
-{
-#ifdef USABLE_SIGIO
- signal (SIGIO, SIG_IGN);
-#endif
-}
-
/* Saving and restoring the process group of Emacs's terminal. */