[PATCH v7 1/1] Cygwin: pty: add pseudo console support.

Takashi Yano takashi.yano@nifty.ne.jp
Wed Aug 21 15:41:00 GMT 2019


Hi Corinna, Mark and Thomas,

I worked on the following problem and implemented a solution.
It is not smart enough, however, it works anyway. This is
realized by hooking the WIN32 API calls which access console,
and switching I/O to pseudo console side if console access is
detected.

I will post it as v8 patch. I'm very happy if you will test.

On Mon, 19 Aug 2019 15:36:41 +0900
Takashi Yano wrote:
> Hi Corinna, Mark and Thomas,
> 
> On Sat, 17 Aug 2019 11:10:53 -0700 (PDT)
> Mark Geisert wrote:
> > On Sat, 17 Aug 2019, Corinna Vinschen wrote:
> > > On Aug 16 01:09, Takashi Yano wrote:
> > > It looks like there's some timing problem in terms of stderr output.  I
> > > just made up the example for the Cygwin ML discussion about the mcmodel.
> > > When I start the code built with -mcmodel=small I expected the output:
> > >
> > > Cygwin runtime failure: /home/corinna/dll/main.exe: Invalid relocation.
> > > Offset 0xfffffffd80348989 at address 0x40000103b doesn't fit into 32 bits
> > 
> > That particular error message doesn't go out on Cygwin's stderr.  It's 
> > done by a Windows WriteFile() on STD_ERROR_HANDLE followed by a 
> > FlushFileBuffers() on same.
> > 
> > Not sure that it matters, but perhaps it does.
> 
> Mark, you are right.
> 
> On Thu, 15 Aug 2019 20:22:35 +0200
> Thomas Wolff wrote:
> > >> The same program, compiled with cygwin gcc, fails in mintty:
> > >> output is skipped (like without the patch)
> > >> ↯input stalls, kill -9 fails.
> > >> Without conpty patch v6, both output and input are skipped.
> > >> Note that winpty properly handles this case.
> > > This problem is hard to be fixed in the current implementation...
> > Do you have an idea why it could make a difference whether the program 
> > is compiled with gcc or x86...mingw-gcc,
> > even if only w32 API functions are called?
> 
> This is also the same problem.
> 
> The reason was already noted in:
> https://cygwin.com/ml/cygwin-developers/2019-04/msg00042.html
> 
> Now I am under consideration on this problem.
> 
> -- 
> Takashi Yano <takashi.yano@nifty.ne.jp>


-- 
Takashi Yano <takashi.yano@nifty.ne.jp>



More information about the Cygwin-developers mailing list