This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: mintty, xterm and rxvt freezes when displaying a binary stream
- From: Andy Koppe <andy dot koppe at gmail dot com>
- To: cygwin at cygwin dot com
- Date: Tue, 14 May 2013 05:39:17 +0100
- Subject: Re: mintty, xterm and rxvt freezes when displaying a binary stream
- References: <CAP_kE8UJZYf2ebrpDSKtkTrN2p0yT997+y+Z5tr978LNdbTekw at mail dot gmail dot com> <CAHWeT-Z=oQ+Xan7DuRkC1A_7RLAQ5+3oWXQJKDiyPchzyXruQA at mail dot gmail dot com> <CAKepmah+q7ESj4cUQi-MDaPkk+GBdXo-S+b2eeYCRqkxhG7rKg at mail dot gmail dot com>
On 14 May 2013 01:23, Jack Adrian Zappa wrote:
> On Mon, May 13, 2013 at 5:45 PM, Andy Koppe wrote:
>>
>> On 13 May 2013 22:35, Adrian H wrote:
>> > I inadvertently dumped a binary stream to the terminal and it froze
>> > mintty. When I tried to kill the process dumping the data, it
>> > wouldn't die, even when using -9 switch. When I used Process Explorer
>> > to kill it, it died and mintty resumed working.
>>
>> http://cygwin.com/ml/cygwin/2013-04/msg00362.html
>
>
> Sounds like its related, however, if I only send 369 of the 370 lines,
> it is fine and the characters sent to the terminal end up on my
> command line. I.e. I get this on my command line after the cat of 369
> lines.
>
> $ 1;2c1;2c1;2c
>
> Which is part of the return string sans the leading "\x5b\x3f" a.k.a.
> "\e[".
The "\e[" is swallowed by bash/readline.
> According to that link, you provided, it sounds like only one
> key is necessary to cause this problem.
It also requires a large amount of output from the application, so
that the pty's output buffer overflows and hence the application's
write() to it blocks.
> In any case, how does Linux deal with this issue?
I don't know. A buffer on the terminal's side of the pty? Automatic
deadlock detection in the kernel, causing one of the blocking writes
to fail?
Andy
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple