X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Sun, 24 Oct 2010 12:40:51 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: Sending signals to a subprocess Message-ID: <20101024164051.GA18291@ednor.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20101018201805 DOT GA26254 AT ednor DOT casa DOT cgf DOT cx> <4CBD9DF2 DOT 3090804 AT cornell DOT edu> <20101019141557 DOT GA31784 AT ednor DOT casa DOT cgf DOT cx> <4CBE5F53 DOT 30402 AT cornell DOT edu> <4CBED0C3 DOT 6080001 AT cornell DOT edu> <20101020203254 DOT GA11903 AT ednor DOT casa DOT cgf DOT cx> <4CC39F3A DOT 8040808 AT cornell DOT edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4CC39F3A.8040808@cornell.edu> User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: 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 On Sat, Oct 23, 2010 at 10:51:38PM -0400, Ken Brown wrote: >On 10/20/2010 4:32 PM, Christopher Faylor wrote: >> On Wed, Oct 20, 2010 at 08:25:37PM +0100, Andy Koppe wrote: >>> On 20 October 2010 13:20, Andy Koppe wrote: >>>>> Corinna made tcgetpgrp return 0 instead of -1 in some circumstances >>>>> (see http://www.cygwin.com/ml/cygwin-patches/2009-q4/msg00045.html) >>>>> because she saw Linux doing that. ??But when I run Corinna's test on >>>>> my Linux system, I get -1 where she got 0. ??So not all Linuxes agree >>>>> on what tcgetpgrp should do. >>>> >>>> Hmm, Corinna's test calls tcgetpgrp(master) in the parent only before >>>> the child is forked and after it exited, so it's correct to report that >>>> there's no foreground process. >>>> >>>> I wonder which Linux it was that returned 0 in case of failure. I've >>>> tried it on a recent Opensuse, an old Redhat with a 2.6.9 kernel, and >>>> also a Debian with a 2.4 kernel, and got -1 on all of those. >>> >>> Actually I'd only tried my test on all three systems, whereas I'd tried >>> Corinna's only on the old Redhat, where it did print -1 for failure. >>> On the 2.4 system it can't open /dev/ptmx, whereas on the Opensuse with >>> 2.6.34 I do get the results Corinna reported, including 0 on the master >>> side of the pty when enquiring from the parent. (Process 0 is the >>> startup process, so I guess that makes some sense.) >>> >>> To bring my ramblings to some sort of conclusion, here's a slightly >>> amended version of Corinna's test that checks the master side from the >>> parent process before, *during* and after the child process: >> >> FYI, I'm sticking with the test case that I first posted several days >> ago and which has been cruelly ignored ever since. I've been slowly >> modifying it for the last several days. >> >> I think I'm seeing some pattern to the way Linux handles this and I should >> be able to make Cygwin work the same way. > >This seems to be fixed in the latest snapshot, as far as emacs is >concerned. I no longer see any difference between Cygwin and Linux >there. I also get the expected results when I run the test cases that >Andy posted. But when I run the original test case that you posted in > > http://cygwin.com/ml/cygwin/2010-10/msg00395.html > >I'm getting strange behavior. I ran it with no argument, getting > >0 = tcgetpgrp(4) >0 = ioctl(fd, TIOCGPGRP, &pid), pid = 0 > >but then the terminal seemed to hang, and I didn't get a new prompt. I >tried this both in mintty and xterm. I think this falls nicely into the cruelly ignored comment above since I can get my test case to hang on a Windows 7 system prior to the inclusion of any of my recent patches. I'll fix it though. cgf -- 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