New implementation of pseudo console support (experimental)

Thomas Wolff
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.
> 2) Free from the problem caused by difference of behaviour of control
>     sequences between real terminal and pseudo console.
> 3) Free from the problem in cgdb and emacs gud.
> 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
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.

More information about the Cygwin-developers mailing list