From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.134]) by sourceware.org (Postfix) with ESMTPS id 42A6A393EC32 for ; Wed, 13 May 2020 12:35:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 42A6A393EC32 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=towo.net Authentication-Results: sourceware.org; spf=none smtp.mailfrom=towo@towo.net Received: from [192.168.178.45] ([95.90.245.244]) by mrelayeu.kundenserver.de (mreue009 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MtfRv-1jF79u1XcV-00v7qL; Wed, 13 May 2020 14:35:01 +0200 Subject: Re: New implementation of pseudo console support (experimental) To: Takashi Yano , cygwin-developers@cygwin.com References: <20200513211609.011d188c3a735b00d55591df@nifty.ne.jp> From: Thomas Wolff X-Tagtoolbar-Keys: D20200513143500251 Message-ID: <64bf0288-ff90-69b0-fbd9-fad4dd5903e6@towo.net> Date: Wed, 13 May 2020 14:35:00 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <20200513211609.011d188c3a735b00d55591df@nifty.ne.jp> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:h1Eg+HfbbGy05l1UAYEGGW3b5XAueUcY5OaJhrR26R8q2cZBcjQ MGbMRgf2P0uSfY9q4nlBKBRhttOMvOsCIqHQs+rcqIIqpGx+8nQJBX0Qs29jLj5YSmoE/5T ZISy79as9BwwHCziOL3AHcM8VOHeg0pnT9gpAipSiEMR7wyCc9lrsYYQm2CSpjzOKasFn+y O/A5ev0HYXi1Q62Oy8NmQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:kzygIPDIqII=:entMikzQnSuqm4YfQ02Euv KKPa0XcqLPGMr7Ok0xBDlQ+c9CZwKGAuaKomXPiIo4nawvX6mm5DZFFp0dN9ui2J4njkcWZgY mlxmqQFYsPAy0plG93XqoyWgOeKvF7v3MJAssllCEK4fELr9OMuQTMBZR0dcNQUjQq0dhGAwA Zfz815PC5SmcwneWUlpQ/h/9OQMc4fhC8xpk1b35kp8BTl53SIg4cYhAbUe7Lw7yNQU5HB6nh wFb4aHXQo07tqQ5omwQ8k1yL8fyVTdadJlh2Gq8iLN0M07m9PO2GK/2VQBF7Zq8es2pBVcEjJ UApCQgr1qNxepn6HpLbyECcOWoZ69o31M4yHpvEmn2VeL+lvEvvBd1/oYj/L6EekmSThTbMdJ CKsfKaxROSaztFvgwR7FozFuhiOhHFs1eMQ4RFW752PVa/c0Lp+Ae14e0MqWP7tnTb49yHJnA 2WQAWGYjxKVCOPLDDO+yPnQetj9hAqUUHCm5arFK5H0VHtHZcQy0H0noDL1ZuhmxF9t+4ilpP no4wvA159AGOtdgwJuH2MQIEhQJg679maIEJHwTJZfEhYjJBPz0v23SQ2ojXQr1lpFt5PX+x+ GVCLIQw0hnALCkvouBoEZPRKU8GNsX1dzIYIkXRSCdA9RXxD4oygETyoZTAcu/or0cnF9T0K3 8Mv7k3rJFJPGlJ4/9uHtAfNyJmPbLUKgZWNr8mzycuHzI4pQWgUVU9ZsyIN4AlbWvi0hEi9GT fcnaH8bPhobmLntDVYBWvKRp9ooL+SDxBjGIxr3UpvFhJotAevbfO9UeOM7ZCBdx7WyrIb9L5 bubAzqRxgC66cJZxDgeZmPbxC+sbiMHOro7tiBytflyRcdja2A= X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no 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-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 May 2020 12:35:08 -0000 Hi Takashi, Am 13.05.2020 um 14:16 schrieb Takashi Yano via Cygwin-developers: > Hello everyone. > > This time, I have experimentally implemented a new pseudo console > support. In this implementation, pseudo console is created for each > native console app. > > The advantage and disadvantage of this implementation are as follows. > > Advantage: > 1) No performance degradation in pty output for cygwin process. > https://sourceware.org/pipermail/cygwin/2020-February/243651.html > 2) Free from the problem caused by difference of behaviour of control > sequences between real terminal and pseudo console. > https://sourceware.org/pipermail/cygwin/2019-December/243074.html > https://sourceware.org/pipermail/cygwin/2020-February/243648.html > 3) Free from the problem in cgdb and emacs gud. > https://sourceware.org/pipermail/cygwin/2020-January/243394.html > https://sourceware.org/pipermail/cygwin/2020-March/243939.html > 4) Redrawing screen on executing native console apps is not necessary. > 5) cygwin-console-helper is not necessary for the pseudo console support. Sounds great. I'd like to test that soon (if I could...) > Disadvantage: > 1) Pseudo console is disabled if one of stdin, stdout or stderr is > redirected. > 2) Pseudo console is disabled if the native console app is executed > in background. > 3) The cygwin program which call console API directly does not work. > 4) The apps which use console API cannot be debugged with gdb. > 5) Type ahead key inputs are discarded while native console app is > executed. > 6) cmd.exe hangs up on typing some keys if cmd.exe is executed in > background. (same as cygwin 3.0.7) > 7) Code page cannot be changed by chcp.com. About 1), 2), 7): Can you explain this limitation? I'd assume e.g. a background process would decide for itself whether to hook in conpty before starting the native app, so why does it make a difference? > The patch attached is for the current git head. > > Could you please test? Any comments and suggestions will be appreciated. Thanks Thomas