From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3790 invoked by alias); 21 Dec 2012 22:23:10 -0000 Received: (qmail 3779 invoked by uid 22791); 21 Dec 2012 22:23:09 -0000 X-SWARE-Spam-Status: No, hits=-5.6 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_CG X-Spam-Check-By: sourceware.org Received: from mail-we0-f170.google.com (HELO mail-we0-f170.google.com) (74.125.82.170) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 21 Dec 2012 22:23:04 +0000 Received: by mail-we0-f170.google.com with SMTP id r1so2498492wey.29 for ; Fri, 21 Dec 2012 14:23:03 -0800 (PST) X-Received: by 10.180.14.10 with SMTP id l10mr14652317wic.7.1356128583121; Fri, 21 Dec 2012 14:23:03 -0800 (PST) Received: from [192.168.2.197] (93-33-97-248.ip44.fastwebnet.it. [93.33.97.248]) by mx.google.com with ESMTPS id u6sm20476890wif.2.2012.12.21.14.23.01 (version=SSLv3 cipher=OTHER); Fri, 21 Dec 2012 14:23:02 -0800 (PST) Message-ID: <50D4E144.706@gmail.com> Date: Fri, 21 Dec 2012 22:23:00 -0000 From: marco atzeri User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: cygwin@cygwin.com Subject: Re: Intermittent failures retrieving process exit codes - snapshot test requested References: <50C2498C.2000003@coverity.com> <50C276AC.9090301@mailme.ath.cx> <50D401EF.9040705@coverity.com> <20121221103241.GD18188@calimero.vinschen.de> <20121221161024.GA10871@ednor.casa.cgf.cx> <20121221170219.GF18188@calimero.vinschen.de> <20121221193620.GA29203@ednor.casa.cgf.cx> In-Reply-To: <20121221193620.GA29203@ednor.casa.cgf.cx> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com X-SW-Source: 2012-12/txt/msg00336.txt.bz2 On 12/21/2012 8:36 PM, Christopher Faylor wrote: > On Fri, Dec 21, 2012 at 06:02:19PM +0100, Corinna Vinschen wrote: >> On Dec 21 11:10, Christopher Faylor wrote: >>> On Fri, Dec 21, 2012 at 11:32:41AM +0100, Corinna Vinschen wrote: >>>> Maybe the signal thread should really not exit by itself, but just >>>> wait until the TerminateThread is called. Chris? >>> >>> If the analysis is correct, that just fixes one symptom doesn't it? >>> There are potentially many threads running in any Cygwin program >>> and it sounds like any one of them could trigger this. >> >> Right. I guess the question is how to synchronize things so that the >> thread calling TerminateProcess is actually the last one, making sure >> its return value is used. >> >> Maybe the NtQueryInformationThread(ThreadAmILastThread) call is of some >> help. Or we have to keep all thread IDs of the self-started threads >> available to terminate them explicitely at process exit. > > I checked in a complicated fix for this problem which only affected > Cygwin-created threads. But, then, I thought about another riskier but > simpler fix. That version is now in CVS and I'm generating a new > snapshot with it. > > I tested this lightly on Windows 7 and 32-bit XP but it would be nice to > hear if multi-threaded things like X work on other platforms too. > > If you test a snapshot, note that I'm still tracking down Ken Brown's > reporte emacs regression in recent snapshots so that will still be > broken. > > cgf > I think the Xserver doesn't like it. on 20121221 it freezes on start on W7/64 no issue on 20121218 Regards Marco -- 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