On Jul 14 15:38, Daniel Colascione wrote: > This is from sigproc.cc: > > /* It appears that when running under WOW64 on Vista 64, the first DWORD > value in the datastructure lpReserved2 is pointing to (msv_count in > Cygwin), has to reflect the size of that datastructure as used in the > Microsoft C runtime (a count value, counting the number of elements in > two subsequent arrays, BYTE[count and HANDLE[count]), even though the C > runtime isn't used. Otherwise, if msv_count is 0 or too small, the > datastructure gets overwritten. > [...] > While this workaround is indeed necessary for Vista, it's *not* necessary > for Windows 7, which again handles copying the data structure pointed to by > lpReserved2 properly. Therefore, needs_count_in_si_lpres2 can be false on > that platform.
Thanks for the hint. You *did* test that, did you? I made a quick test on Windows 7 x64. Starting a shell, running scripts and starting other processes looks good. I checked in the change to wincap.cc. > [...] > 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... Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader 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