New implementation of pseudo console support (experimental)
Tue May 26 07:14:39 GMT 2020
Am 26.05.2020 um 03:00 schrieb Takashi Yano via Cygwin-developers:
> 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 <windows.h>
> int main()
> WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), "AAA\r\n", 5, NULL, 0);
> return 0;
This works for me.
> 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.
>> 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().
>> 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.
>> 5) Type ahead key inputs are discarded while native console app is
>> 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.
More information about the Cygwin-developers