summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2012-03-24 09:32:50 +0100
committerAndreas Schwab <schwab@linux-m68k.org>2012-03-24 09:32:50 +0100
commit7d1c3a76cf92f366549b6588191fd7eb71b9abcc (patch)
treeeaa5dd971d1e22007706128aa28ff3940a187830 /src
parente99a9b8bdccadded1f6fae88ee7a2a93dfd4eacf (diff)
downloademacs-7d1c3a76cf92f366549b6588191fd7eb71b9abcc.tar.gz
Fixes: debbugs:11080
* xterm.c (XTread_socket): Only modify handling_signal if !SYNC_INPUT.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/xterm.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 028b8325aae..11676be8348 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2012-03-24 Andreas Schwab <schwab@linux-m68k.org>
+
+ * xterm.c (XTread_socket): Only modify handling_signal if
+ !SYNC_INPUT. (Bug#11080)
+
2012-03-23 Eli Zaretskii <eliz@gnu.org>
* bidi.c (bidi_fetch_char): Use STRING_CHAR_AND_LENGTH instead of
diff --git a/src/xterm.c b/src/xterm.c
index ddc5db23414..9ce166883c3 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -7099,7 +7099,8 @@ x_dispatch_event (XEvent *event, Display *display)
/* Read events coming from the X server.
- This routine is called by the SIGIO handler.
+ This routine is called by the SIGIO handler only if SYNC_INPUT is
+ not defined.
We return as soon as there are no more events to be read.
We return the number of characters stored into the buffer,
@@ -7133,7 +7134,9 @@ XTread_socket (struct terminal *terminal, int expected, struct input_event *hold
/* So people can tell when we have read the available input. */
input_signal_count++;
+#ifndef SYNC_INPUT
++handling_signal;
+#endif
/* For debugging, this gives a way to fake an I/O error. */
if (terminal->display_info.x == XTread_socket_fake_io_error)
@@ -7223,7 +7226,9 @@ XTread_socket (struct terminal *terminal, int expected, struct input_event *hold
pending_autoraise_frame = 0;
}
+#ifndef SYNC_INPUT
--handling_signal;
+#endif
UNBLOCK_INPUT;
return count;