X-Recipient: archive-cygwin@delorie.com
X-SWARE-Spam-Status: No, hits=-0.0 required=5.0	tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE
X-Spam-Check-By: sourceware.org
From: "Daniel Colascione" <dan.colascione@gmail.com>
To: <cygwin@cygwin.com>
Subject: {lp,cb}Reserved2 under Windows 7 and file descriptors
Date: Wed, 14 Jul 2010 11:37:26 -0700
Message-ID: <000801cb2383$9c3ad3a0$d4b07ae0$@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain;	charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

Windows 7 WOW64 seems to DTRT with respect to copying the process data;
needs_count_in_si_lpres2 can be false except on Vista. I'm testing a cygwin
with that modification now and it works fine (persistent Windows 7 sporadic
issues notwithstanding; those seem to be solved by rebaseall).

lpReserved2 working properly leads to another idea: set *lpReserved2 to a
non-zero value even when needs_count_in_si_lpres2 is a false; specifically,
set it to three and pass the stdin, stdout, and stderr handles and flags via
child_info. (child_info would have to begin with the appropriate values.) At
the worst, it does no harm; but if the child is using the MS C runtime,
it'll pick up the stdin file descriptors and flags from this data area. If
the flags are set properly, you should be able to get the C runtime to
report _isatty() is true for cygwin ptys. (Though of course GetFileType will
still reveal the thing to be a socket.)


--
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

