X-Recipient: archive-cygwin AT delorie DOT 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" To: 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 AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT 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