diff options
| author | Richard M. Stallman | 1994-02-15 16:17:25 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1994-02-15 16:17:25 +0000 |
| commit | 7071e5ddb787a0b5a06fbb48c496507790e52181 (patch) | |
| tree | 3fe2a9e1c740f1e19a25cc78ceb0382366f589e4 /src | |
| parent | 19240c203a1954740cc3a577f3e83f60762134cf (diff) | |
| download | emacs-7071e5ddb787a0b5a06fbb48c496507790e52181.tar.gz emacs-7071e5ddb787a0b5a06fbb48c496507790e52181.zip | |
(XTread_socket): Do not assume that select returning
immediately with no events implies a hangup.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xterm.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/xterm.c b/src/xterm.c index e9d57fac40d..673f6ff6230 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -3628,10 +3628,15 @@ XTread_socket (sd, bufp, numchars, waitp, expected) | |||
| 3628 | #ifdef X_IO_BUG | 3628 | #ifdef X_IO_BUG |
| 3629 | if (! event_found) | 3629 | if (! event_found) |
| 3630 | /* On some systems, an X bug causes Emacs to get no more events | 3630 | /* On some systems, an X bug causes Emacs to get no more events |
| 3631 | when the window is destroyed. Detect that. */ | 3631 | when the window is destroyed. Detect that. (1994.) */ |
| 3632 | XNoOp (x_current_display); | 3632 | XNoOp (x_current_display); |
| 3633 | #endif /* X_IO_BUG */ | 3633 | #endif /* X_IO_BUG */ |
| 3634 | 3634 | ||
| 3635 | #if 0 /* This fails for serial-line connections to the X server, | ||
| 3636 | because the characters arrive one by one, and a partial | ||
| 3637 | command makes select return but gives nothing to read. | ||
| 3638 | We'll have to hope that the bug that this tried to fix | ||
| 3639 | in 1988 has been fixed in Xlib or the X server. */ | ||
| 3635 | #ifdef HAVE_SELECT | 3640 | #ifdef HAVE_SELECT |
| 3636 | if (expected && ! event_found) | 3641 | if (expected && ! event_found) |
| 3637 | { | 3642 | { |
| @@ -3652,6 +3657,7 @@ XTread_socket (sd, bufp, numchars, waitp, expected) | |||
| 3652 | kill (getpid (), SIGHUP); | 3657 | kill (getpid (), SIGHUP); |
| 3653 | } | 3658 | } |
| 3654 | #endif /* HAVE_SELECT */ | 3659 | #endif /* HAVE_SELECT */ |
| 3660 | #endif /* 0 */ | ||
| 3655 | 3661 | ||
| 3656 | #ifndef HAVE_X11 | 3662 | #ifndef HAVE_X11 |
| 3657 | if (updating_frame == 0) | 3663 | if (updating_frame == 0) |