X-Recipient: archive-cygwin AT delorie DOT com 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 X-Received: by 10.180.14.10 with SMTP id l10mr14652317wic.7.1356128583121; Fri, 21 Dec 2012 14:23:03 -0800 (PST) Message-ID: <50D4E144.706@gmail.com> Date: Fri, 21 Dec 2012 23:23:00 +0100 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 AT cygwin DOT com Subject: Re: Intermittent failures retrieving process exit codes - snapshot test requested References: <50C2498C DOT 2000003 AT coverity DOT com> <50C276AC DOT 9090301 AT mailme DOT ath DOT cx> <50D401EF DOT 9040705 AT coverity DOT com> <20121221103241 DOT GD18188 AT calimero DOT vinschen DOT de> <20121221161024 DOT GA10871 AT ednor DOT casa DOT cgf DOT cx> <20121221170219 DOT GF18188 AT calimero DOT vinschen DOT de> <20121221193620 DOT GA29203 AT ednor DOT casa DOT cgf DOT 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 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 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