X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,SPF_NEUTRAL,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Message-ID: <4FBFD447.3000909@cornell.edu> Date: Fri, 25 May 2012 14:49:43 -0400 From: Ken Brown User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120428 Thunderbird/12.0.1 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: "emacs -nw" hangs in a terminal References: <20120522134119 DOT GB9200 AT calimero DOT vinschen DOT de> <20120522134932 DOT GC9200 AT calimero DOT vinschen DOT de> <4FBCD166 DOT 8080101 AT cornell DOT edu> <20120523141538 DOT GI9200 AT calimero DOT vinschen DOT de> <4FBD08B0 DOT 50209 AT cornell DOT edu> <20120523160235 DOT GK9200 AT calimero DOT vinschen DOT de> <4FBE26C8 DOT 1000008 AT cornell DOT edu> <20120525100321 DOT GF4225 AT calimero DOT vinschen DOT de> <4FBF7EDC DOT 2060502 AT cornell DOT edu> <20120525130314 DOT GJ4225 AT calimero DOT vinschen DOT de> <20120525143503 DOT GK4225 AT calimero DOT vinschen DOT de> In-Reply-To: <20120525143503.GK4225@calimero.vinschen.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-PMX-CORNELL-SPAM-CHECKED: Pawpaw X-Original-Sender: kbrown AT cornell DOT edu - Fri May 25 14:49:44 2012 X-PMX-CORNELL-REASON: CU_White_List_Override 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 5/25/2012 10:35 AM, Corinna Vinschen wrote: > On May 25 15:03, Corinna Vinschen wrote: >> On May 25 08:45, Ken Brown wrote: >>> On 5/25/2012 6:03 AM, Corinna Vinschen wrote: >>>> And then again, do we know if 24.x works on older Cygwin release or >>>> snapshots? If it's a Cygwin problem, it might help to nail it down. >>> >>> It works on the 20120111 snapshot but fails on the 20120122 >>> snapshot. Thanks for suggesting this. It should have been the first >>> thing I checked. >> >> Cool! That only leaves three checkins to be the culprit. I'm not >> sure I can get to it over the weekend (and Monday is a holiday here), >> but I'll certainly try to track it down next week. > > Ok, I had a look already and I see where the problem is, but that > doesn't mean I understand it yet. > > C-g results in calling an emacs signal handler from select. Up to the > change from 20120122 in select.cc, all select threads have been stopped > before the signal handler is called. This works fine. > > After the change from 20120122, the signal handler is called first, and > only afterwards the select threads are cleaned up. This results in > starting another pipesel thread and the subsequent crash. > > I applied a patch which calls the signal handler after cleanup. The > downside is that the signal handler is only called if select is called > from the main thread. A better patch would perhaps be to stop all > threads, call the signal handler, and restart the threads afterwards, > but this is more tricky. Thanks! That fixes it. I appreciate all your work on this. I'm in the process now of testing to see if this also fixes an emacs crash I've been getting when I build emacs with GSettings support (http://cygwin.com/ml/cygwin-xfree/2012-04/msg00048.html). Ken -- 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