New implementation of pseudo console support (experimental)
Thomas Wolff
towo@towo.net
Wed May 13 12:35:00 GMT 2020
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
More information about the Cygwin-developers
mailing list