pty FIONREAD returning zero breaks emacs in 3.11rc3

From: Andi Kleen
Date: Fri Aug 09 2013 - 17:11:36 EST



When I run emacs over ssh terminal (no X) on 3.11-rc3 it often ignores key
strokes. I first thought the system was busy or so, but when
stracing the emacs it was not blocked.

Here's a typical sequence. select/SIGIO wakes it up, but then
FIONREAD returns 0.

I'm not fully sure when it started.

It does not happen all the time, but is quite frequent.

ioctl(3, FIONREAD, [0]) = 0
pselect6(4, [3], [], NULL, {17, 952336932}, {NULL, 8}) = 1 (in [3], left
{17, 504942810})
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
rt_sigreturn() = 1
ioctl(3, FIONREAD, [0]) = 0
ioctl(3, FIONREAD, [0]) = 0
pselect6(4, [3], [], NULL, {17, 504298807}, {NULL, 8}) = ?
ERESTARTNOHAND (Interrupted by signal)
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
rt_sigreturn() = -1 EINTR (Interrupted system
call)
ioctl(3, FIONREAD, [0]) = 0
pselect6(4, [3], [], NULL, {17, 103972440}, {NULL, 8}) = 1 (in [3], left
{16, 864890560})
--- SIGIO {si_signo=SIGIO, si_code=SI_KERNEL} ---
rt_sigreturn() = 1


--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/