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: List-Subscribe: List-Archive: List-Post: List-Help: , 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 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 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Dxnq1zWXvFF0Q93v" Content-Disposition: inline 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--