diff options
author | Karl Heuer <kwzh@gnu.org> | 1994-08-26 05:18:31 +0000 |
---|---|---|
committer | Karl Heuer <kwzh@gnu.org> | 1994-08-26 05:18:31 +0000 |
commit | 23cf7c602a3ec4f10f8eb312e0f38ae8ba9fea29 (patch) | |
tree | 7e2a3ca5d77b9dba4019e59bdd364dfa292e07b6 | |
parent | 8427dec96b1d72027a72983f780d852dfbb8deb6 (diff) | |
download | emacs-23cf7c602a3ec4f10f8eb312e0f38ae8ba9fea29.tar.gz |
(x_make_frame_visible): Call signal handler directly.
-rw-r--r-- | src/xterm.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/xterm.c b/src/xterm.c index a900a6e15dd..73515ff3174 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -5673,10 +5673,15 @@ x_make_frame_visible (f) { x_sync (frame); /* Machines that do polling rather than SIGIO have been observed - to go into a busy-wait here. Send the alarm signal to let - the handler know that there's something to be read. */ + to go into a busy-wait here. So we'll fake an alarm signal + to let the handler know that there's something to be read. + We used to raise a real alarm, but it seems that the handler + isn't always enabled here. This is probably a bug. */ #ifndef SIGIO - kill (getpid(), SIGALRM); + /* It could be confusing if a real alarm arrives while processing + the fake one. Turn it off and let the handler reset it. */ + alarm (0); + input_poll_signal (); #endif } FRAME_SAMPLE_VISIBILITY (f); |