X-Recipient: archive-cygwin@delorie.com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:subject:to:references:from:message-id:date
	:mime-version:in-reply-to:content-type
	:content-transfer-encoding; q=dns; s=default; b=DMBh8NOwmEyKPkWB
	jO7JwreFb509t51eGe6tfuGa/1LowqkE0Qrairdo/hESsVXiZ8ZB27mv8gZuKFXS
	qd2OpyT5nYBTJ8wJVbIFOA6aShebqB21bfmjQ9nUvoelWKDNowMCGCPQDBrnEtys
	kGSTlJLC69ogGsLIXnQHDwyVQzk=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:subject:to:references:from:message-id:date
	:mime-version:in-reply-to:content-type
	:content-transfer-encoding; s=default; bh=b+7EyOoFSxNOQY8HmYvLgU
	zu24E=; b=N2idQGr28zQeYPKe9O05d59I62xhX811qMx8+nnHD9rDfPzMfYbU8l
	zW8o0Y+38dXRR51TF3KORaiySBjBdNkaNsp9jKOIeFSTHzKyoWjeS+Qi7HnwSa0N
	StANnavLudZLKZduSwSc8dBqtA2bIaIZ0r/oBm5GEG0r49dZkqhb4=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=Was, exhibits, D*cx, oct
X-HELO: limerock02.mail.cornell.edu
X-CornellRouted: This message has been Routed already.
Subject: gdb pty problem [Was: emacs gud-interface is not updated after gdb command execution (maybe because of incomplete output from gdb)]
To: cygwin@cygwin.com
References: <466943424.37628.394d161a-7219-415d-a659-0f774811ad2d.open-xchange@email.1und1.de> <44459aa0-4381-2368-ab63-5dffc26f3344@cornell.edu>
From: Ken Brown <kbrown@cornell.edu>
Message-ID: <e29d08b0-aaed-46ea-a4eb-960b1e462692@cornell.edu>
Date: Mon, 30 May 2016 16:02:44 -0400
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0
MIME-Version: 1.0
In-Reply-To: <44459aa0-4381-2368-ab63-5dffc26f3344@cornell.edu>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: 7bit
X-PMX-Cornell-Gauge: Gauge=XXXXX
X-IsSubscribed: yes

On 5/26/2016 8:31 AM, Ken Brown wrote:
> This looks like a bug I reported several years ago; it actually has
> nothing to do with emacs:
> 
>   https://www.cygwin.com/ml/cygwin/2011-10/msg00445.html
> 
> It was fixed but then reappeared some months later:
> 
>   https://www.cygwin.com/ml/cygwin/2012-05/msg00049.html
> 
> It was fixed again but apparently is back.  The test case from the
> original report still exhibits the problem.

I've tracked down the commits that fixed this bug in the past.  The first fix was

commit 31d2bedc585420092eb53895c5f5646651f13215
Author: Christopher Faylor <me@cgf.cx>
Date:   Sun Oct 23 19:01:47 2011 +0000

    * fhandler_tty.cc (fhandler_pty_slave::read): Use consistent way for testing
    ReadFile return.
    * pipe.cc (fhandler_pipe::create_selectable): Open the write side of the pipe
    in message-mode to force writing as "chunks".  Explain why.

The second was

commit fb9d631817cc2b5d83c2a6ff928851d201c992bf
Author: Christopher Faylor <me@cgf.cx>
Date:   Fri May 4 03:00:43 2012 +0000

    * DevNotes: Add entry cgf-000002.
    * fhandler_tty.cc (bytes_available): Revert to previous Oct-2011 behavior where
    a dummy buffer is used to determine how many bytes will be read.
    (fhandler_pty_master::ioctl): Correct coercion in assignment.

A few weeks later the code was simplified:

commit bd8afa5eb160b56715b805befe850a5ba2131d28
Author: Christopher Faylor <me@cgf.cx>
Date:   Wed May 16 01:56:41 2012 +0000

    * DevNotes: Add entry cgf-000008.
    * fhandler_tty.cc (bytes_available): Simplify by returning the number of bytes
    available in the message unless that is zero.

I've looked at the current code in the vicinity of these changes, and nothing jumps out at me as obviously breaking the previous fixes; but that doesn't mean much.

Ken

--
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

