aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKarl Heuer1994-08-24 06:28:41 +0000
committerKarl Heuer1994-08-24 06:28:41 +0000
commitc12a7cbdbc014fcfc0c0885a4d535987242da071 (patch)
tree78fdb3db45a9e27e5af1dc2c646daddf510445ac /src
parentc89c189e3a954d90e78af3bfcbf39a185285d771 (diff)
downloademacs-c12a7cbdbc014fcfc0c0885a4d535987242da071.tar.gz
emacs-c12a7cbdbc014fcfc0c0885a4d535987242da071.zip
(x_make_frame_visible): Raise a signal to cause the pending X I/O to be read.
Diffstat (limited to 'src')
-rw-r--r--src/xterm.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 3c15fb417da..a900a6e15dd 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -5668,22 +5668,16 @@ x_make_frame_visible (f)
5668 so that incoming events are handled. */ 5668 so that incoming events are handled. */
5669 { 5669 {
5670 Lisp_Object frame; 5670 Lisp_Object frame;
5671 int one_in_four = 1;
5672 XSET (frame, Lisp_Frame, f); 5671 XSET (frame, Lisp_Frame, f);
5673 while (! f->async_visible) 5672 while (! f->async_visible)
5674 { 5673 {
5675 x_sync (frame); 5674 x_sync (frame);
5676 /* On HPUX on the HP800, the sleep is needed sometimes. */ 5675 /* Machines that do polling rather than SIGIO have been observed
5677 if ((one_in_four & 3) == 0) 5676 to go into a busy-wait here. Send the alarm signal to let
5678 { 5677 the handler know that there's something to be read. */
5679 QUIT; 5678#ifndef SIGIO
5680#ifdef EMACS_HAS_USECS 5679 kill (getpid(), SIGALRM);
5681 Fsleep_for (make_number (1), make_number (0));
5682#else
5683 Fsleep_for (make_number (0), make_number (250));
5684#endif 5680#endif
5685 }
5686 one_in_four++;
5687 } 5681 }
5688 FRAME_SAMPLE_VISIBILITY (f); 5682 FRAME_SAMPLE_VISIBILITY (f);
5689 } 5683 }