delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2015/04/16/05:10:27

X-Recipient: archive-cygwin AT delorie DOT 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:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; q=dns; s=
default; b=Myg+18A1qtXGju2lKs1IKk/chYVfHXFkNS9u527bECiNYJoUz7jGB
Xr/ZnoXdFJRrzvHrjPyKJlZZFxcc8c/XPomD35f5ZspG6VTVgQSQFU/AadCvmFHR
25pUqe6+/GZVnTlHmE76GAbcSJWJNHUsSIUz4j+kKrrOdKDnw4ESGg=
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:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; s=default;
bh=X5/HcvZnOkrSHV26WKtwubtp1Tg=; b=rtYYuikaXDqwtV3lZTGGmSlxSEjw
nD/Phyt4oOkMTu/lrpw0w2UxhmtcY6SGggOPYt0DCFS4X+BvmXbjtvpTwN8KmbiS
Pk+DCMSEeXYScdto0Tz/ameWaDVNSDFcV5s3hqbN1/sHnqZ+4cikrsFEje6FRfQW
XKilDkbNMV+bSKA=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-4.7 required=5.0 tests=AWL,BAYES_05,KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2
X-HELO: calimero.vinschen.de
Date: Thu, 16 Apr 2015 11:10:04 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Cygwin hangs up if several keys are typed during outputting a lot of texts.
Message-ID: <20150416091004.GA24584@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <20150403130735 DOT d04e41875f7defd0e6c2d8d0 AT nifty DOT ne DOT jp> <20150403113226 DOT GP13285 AT calimero DOT vinschen DOT de> <20150404155520 DOT 8564347f1d42b3c709718aad AT nifty DOT ne DOT jp> <20150404084354 DOT GX13285 AT calimero DOT vinschen DOT de> <20150405205504 DOT cda3df2cc76f7bca7c3d21fb AT nifty DOT ne DOT jp> <20150407091113 DOT GB2819 AT calimero DOT vinschen DOT de> <20150413193100 DOT a393612bde79a4ae57b8c7d9 AT nifty DOT ne DOT jp> <20150414073456 DOT GY7343 AT calimero DOT vinschen DOT de> <20150416092618 DOT 9975c0e29b8703dbd8d4aa6a AT nifty DOT ne DOT jp> <20150416090533 DOT GB3657 AT calimero DOT vinschen DOT de>
MIME-Version: 1.0
In-Reply-To: <20150416090533.GB3657@calimero.vinschen.de>
User-Agent: Mutt/1.5.23 (2014-03-12)

--Dxnq1zWXvFF0Q93v
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Apr 16 11:05, Corinna Vinschen wrote:
> Hi Takashi,
>=20
> On Apr 16 09:26, Takashi Yano wrote:
> > So OPOST processing should be in master side for native windows program.
> > However, to solve the second problem I had pointed out in
> > http://cygwin.com/ml/cygwin/2015-02/msg00929.html ,
> > OPOST processing should be done on a timing when slave calls write().
> >=20
> > To solve this antinomy, I have made a patch attached.
> >=20
> > With this patch, new pipe is introduced to handle OPSOT-process separat=
ely
> > between native windows program and cygwin program.
> >=20
> > Data from cygwin program is passed through the pipe newly introduced.
> > In this case, process_opost_output() is called in fhandler_pty_slave::w=
rite().
> > Master reads data, which is already applied OPOST process, from the
> > new pipe.
> >=20
> > On the other hands, for native windows program, data is written into
> > conventional pipe. Master forwarding thread, which is also newly
> > introduced, reads conventional pipe and forward the data to the pipe
> > newly introduced by calling process_opost_output(). This makes OPOST
> > processing be done in master side.
> >=20
> > I have confirmed that the both problem is fixed with this patch.
>=20
> Ok, but... this is a really big patch and it complicates the pty code
> even more.  Is there really no other option as far as the TCSADRAIN
> problem is concerned?
>=20
> What strikes me as weird is that neither fhandler_pty_slave::tcsetattr
> nor fhandler_pty_master::tcsetattr give a damn for the optional_actions
> parameter.  They simply overwrite the tc settings.  So I'm wondering,
> wouldn't it be possible to add code to the tcsetattr implementation
> instead, so that TCSADRAIN/TCSAFLUSH are honored and than only have one
> place for OPOST handling?

...and additionally don't have to maintain yet another handle.


Corinna

--=20
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--Dxnq1zWXvFF0Q93v
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBAgAGBQJVL3xsAAoJEPU2Bp2uRE+gr50P/Rbszmak2cIc277H0P0K4SVj
GAzTV9wDMvquuaGfFm3IlVPifTGOgc2/xpV4lk+ucVxT3vBIMQQSyA2biF1MoOGK
D+/6EnpFmcjaBYVEMUUtQrtpSG1m39OFGDCm6f9LgfRUxIJPlh8hlgDHKEwRDT/F
OMsgtyTbCYLcn/iBXbo53etHL9MIHVr0IF1gqA6DJbi3PwXYz++VWpTFs0+CPmx4
sEHG1JlV0/GkbmIIUOuVKn+UB8FU85Zgmy/UxsQmU6ETQrDJd9Y94ZlfWZrNSRmm
Tn51xf9iMUIHek1qbhddqIQ8r2bQP5a195uZR76+b74ONQZyP7WMT59ULJZME1eg
wNQLt2XgAcV3X3UUT4WaLWvIQOXsHSvEWzEDVmaNR8DeQwi4sYJ78Nrt4EABWLcj
A4VgWdqk3j/igwZOu8pwbu1DE9VZz4cfJ22jr2F8UTKQgWOCXNs9akWsySoEUD0o
9MsqzSEMHS7f1BfJCK5fS9ieLXl2/SA1zfMmEHwACU98JkGLT5ou3xOKwGiBzDNo
py9U2ivUgxYTB2goP1+Hv1vyWL+J8YC74Avyya2hJNkFceQBOVZsmCr1J+mLQCPq
KRWu1Er8u3BTlCDMW2ybl7QQ2iWw5tvnpXqqtLFTULcj0EReR5FcXdDix4A0iC1H
QWWU/NKDMNVbZN+i6Vgv
=EKow
-----END PGP SIGNATURE-----

--Dxnq1zWXvFF0Q93v--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019