This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: {lp,cb}Reserved2 under Windows 7 and file descriptors

On 15 July 2010 09:19, Corinna Vinschen wrote:
>> Furthermore, there is a very long-standing issue with Cygwin pty devices:
>> while Cygwin programs report true from isatty() when called on a Cygwin PTY,
>> MSVCRT applications do *not*.
> Right.
>> [...]
>> However, due to the way the CRT works, we can fool it into thinking a
>> passed-in file descriptor is actually a tty. All you need to do is use 3 for
>> the value of *lpReserved2, then follow it with three flag bytes, then three
>> HANDLE values --- corresponding respectively to flags[fd0], flags[fd1],
>> flags[fd2] and fh[0], fh[fd1] and fh[fd2]. ÂThis information would be
>> followed by the normal child_info structure. If stdin, stdout, or stderr is
>> a Cygwin PTY, Cygwin can manually set the FDEV bit (described in the old
>> MSDOS headers) in corresponding flag byte, which will make _isatty() return
>> true in the child.
>> (Not that I've actually tried it --- it's just an idea.)
> That sounds like an interesting idea. ÂI'll play around with it as soon
> as I have a bit of spare time again. ÂUnless, of course, nobody else
> will try it or already did...

It would be brilliant if this did work, taking at least some of the
sting out of the whole pty vs interactive console app issue.


Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]