From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.131]) by sourceware.org (Postfix) with ESMTPS id 1E1903851C36 for ; Tue, 26 May 2020 08:33:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1E1903851C36 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=cygwin.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=corinna-cygwin@cygwin.com Received: from calimero.vinschen.de ([24.134.7.25]) by mrelayeu.kundenserver.de (mreue011 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MysmQ-1irQo62s4I-00vxdP for ; Tue, 26 May 2020 10:33:20 +0200 Received: by calimero.vinschen.de (Postfix, from userid 500) id 50C40A80FF8; Tue, 26 May 2020 10:33:20 +0200 (CEST) Date: Tue, 26 May 2020 10:33:20 +0200 From: Corinna Vinschen To: cygwin-developers@cygwin.com Subject: Re: New implementation of pseudo console support (experimental) Message-ID: <20200526083320.GI6801@calimero.vinschen.de> Reply-To: cygwin-developers@cygwin.com Mail-Followup-To: cygwin-developers@cygwin.com References: <20200513211609.011d188c3a735b00d55591df@nifty.ne.jp> <20200514182859.c5236a8889ab3081d2e8c937@nifty.ne.jp> <20200514183420.c246647a6d9e396d42c6b47e@nifty.ne.jp> <20200516092956.74369d694d611b1dcd095607@nifty.ne.jp> <20200516164735.2a2ef183788b151e9185ef41@nifty.ne.jp> <20200519224018.746f6324badd8a5762df42b1@nifty.ne.jp> <20200525195332.cf60ab2f38d167a76513740e@nifty.ne.jp> <20200525152204.GF6801@calimero.vinschen.de> <20200526100054.a251f799b4bde225edb8596b@nifty.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20200526100054.a251f799b4bde225edb8596b@nifty.ne.jp> X-Provags-ID: V03:K1:MftEk4yZqwlOHHfWQLjscsngfBJGhRDU+W28S34STg3AsFIoFiZ 2PKgnDpkur3diZ6deg/NKszCz7ksBF630J7YS6fIUQ+z6us4Xn9E+NewFVdzuOh0f2LNVgV XxDXTnGwSdC+6aL6hfSKMSuj5POKAWL8zlmRlHFru65x2QhF6yrJaaw/3fX9CV51UUHlG/A 5NILWhhjgeDhLV9yeaELA== X-UI-Out-Filterresults: notjunk:1;V03:K0:BsCVhW6hwb0=:wxVf3E0KEGBpdIJ+bsOyS0 weqqhANcAT+IjTGE5IK9X7YI1qTh1MPSNR012UXv40rmjCUwxl53RDHZy4DvzCRh+9im9dzg6 /2ev6yx4NJRHszPnx8kemKwPaq11QzY4GPm3GkEJLjGIhmZJp4fA2lrHrWQcekcF+i7I0ccl0 KmJoVyjxFtNuqslbc+papMecWNBk29gRp+hDAtTKh8MfEPJvlYh+G3tL5NcGNRx6kuGgO++eg /kov4Jn2v0ExaC/gMtw1lUX6lTpxoD/9sOsPfVP/kzceM2nCRQU9wN45HY7uoCoKaa68F+176 VRBzsOlw2Xobp/aLva82RIO8DrFSuKN5CGY8b+Oy59xBERNNbEVnWewedmTFApshQvdpss+h2 AjSHxiAi4qDRirhnptnfLdbGYWuvT3bxzirzMtu46JYYcbkvbnJhXlccNr5Azys4YCc95P1ag iiUql02AOSQvUdwCv4CvF/fCZdEP8RGTt1P4I8En8Doz13Y7kIIAxJlGxXNyd9CceaVCmLvKf leqGrqwE1b5270HJmBG/2vjEoeY0H1vvG/qqJrnWxvO7NdzVR8lYNXCi2Z4XVGnaTHvWBCTi6 DLhGGeAHNRDnvjvptGt+6AeJRPwIhXsQbssJ4jzjIWIVEgt/GPizISO/MWlh8XbT56RUqW8nv kL62WgbYkagTBi6EZhbf6hmoKwGJUigb8mH4PbXBJ6IHyT024rFHNgfva+N2bExV/MEXFpOCB nwtK2I4dExZWR1wFxIqdgdHtld8lm6HQnFAXP8TtOuTDDMEZKxBjCHPHECY2KiHDn587rzde5 qbCoXMpbqetDu761E27gQyIYbIaWs7OrwqMnhZwIpWXnHUb68/GQ9ToMBXpvEaGX6Qwd7FE X-Spam-Status: No, score=-98.6 required=5.0 tests=BAYES_00, GOOD_FROM_CORINNA_CYGWIN, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NEUTRAL, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin-developers@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin core component developers mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 May 2020 08:33:23 -0000 On May 26 10:00, Takashi Yano via Cygwin-developers wrote: > On Mon, 25 May 2020 17:22:04 +0200 > Corinna Vinschen wrote: > > Works fine for me, but I have only a limited test scenario. > > Thank you very much for testing. > > > In terms of the remaining disadvantages: > > > > 3) The cygwin program which call console API directly does not work. > > > > I don't see a problem here. > > If the code below is compiled with cygwin gcc, it does not work. > > #include > int main() > { > WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), "AAA\r\n", 5, NULL, 0); > return 0; > } > > However, this does not work also in cygwin 3.0.7, so it does not > matter for the app which works in cygwin 3.0.7. Cygwin apps are not supposed to use these functions anyway. If Thomas and mintty are fine with that, I'm totally relaxed. > > 4) The apps which use console API cannot be debugged with gdb. > > > > Do you mean Cygwin apps or native apps? I assume native apps > > because of disadvantage 3... > > I mean native apps. If the process is executed by gdb, pseudo > console is not activated since gdb use CreateProcess() rather > than exec(). Ah, that makes sense. > > Does that mean you can't even debug by attaching (via PID)? > > Attaching gdb to native apps, in which pseudo console is > already activated, should work. Great. > > 5) Type ahead key inputs are discarded while native console app is > > executed. > > > > Hmm, not muchg of a problem, I think. > > > > 7) Code page cannot be changed by chcp.com. > > > > I fail to see the exact drawback here. I don't think a lot of users > > use chcp, but of course I could be wrong. I'd also be curious why > > chcp doesn't work. > > Please note that pseudo console is created for each native > console app in this implementation. Acctually, chcp works > itself and changes code page of its own pseudo console. > However, since pseudo console is recreated for another > process, which does not inherit the code page. Thanks, now I get it. Not a show-stopper. Corinna -- Corinna Vinschen Cygwin Maintainer