diff options
| author | Karl Heuer | 1994-08-24 06:28:41 +0000 |
|---|---|---|
| committer | Karl Heuer | 1994-08-24 06:28:41 +0000 |
| commit | c12a7cbdbc014fcfc0c0885a4d535987242da071 (patch) | |
| tree | 78fdb3db45a9e27e5af1dc2c646daddf510445ac /src | |
| parent | c89c189e3a954d90e78af3bfcbf39a185285d771 (diff) | |
| download | emacs-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.c | 16 |
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 | } |