ptys - I give up

Corinna Vinschen corinna-cygwin@cygwin.com
Fri Jul 26 19:55:00 GMT 2013


On Jul 26 10:24, Daniel Colascione wrote:
> On 7/26/2013 10:10 AM, Corinna Vinschen wrote:
> > On Jul 26 09:55, Daniel Colascione wrote:
> >> In Windows 8, the implementation is completely different. There, console handles
> >> are real kernel objects.
> > 
> > Really? That's entirely new to me. Do you know if there's some description
> > available? What are the implications? Are console handles now handles to
> > something like named pipes as well? Is there a console FS comparable to
> > \Device\NamedPipe\?
>> I don't know the details, and I'm not aware of any new facilities exposed to
> applications. I'd have loved a pseudoconsole API, but we didn't get one.

I see a new device called \Device\ConDrv and \GLOBAL?? now contains
symlinks
 CON -> \Device\ConDrv\Console
 CONIN$ -> \Device\ConDrv\CurrentIn
 CONOUT$ -> \Device\ConDrv\CurrentOut
> You can see the difference in a debugger, though: console pseudohandles *look*
> strange and don't show up in the process handle table. The difference shouldn't

Console handle value % 4 != 0
> really matter, though: applications shouldn't really care what kind of handles
> they get as long as system APIs accept them. The problem with writes larger than
> 8k (I think that was the limit?) to console handles failing seems to have
> disappeared, though.

Uhm... there was a problem? I don't see a hint on the net, nor on MSDN.
The Cygwin DLL uses a maximum buffer size of 16K for console writes.
If there's some documented problem, maybe we should reduce the size to 8K.
> > But then again, doesn't that mean that your method stops working on W8?
>> Not really --- it'll work fine. The difference means that operations on console
> handles that used not to work on Windows 7 might work on Windows 8. The public
> API contract hasn't changed, however, so applications aren't supposed to be
> doing these things anyway, and as long as application developers care about
> testing their applications on Windows 7, they won't.
>> If you eventually do start seeing applications that do things with console
> handles that can't be done with console pseudohandles, well, you can hook more
> APIs to preserve the console handle illusion. But that time is a long way away,
> if it ever arrives at all.

I guess you're right.
Thanks,
Corinna
-- 
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /