Subject: Re: bug#9767: 24.0.90; gdb initialization on Cygwin

From: Ken Brown <[email-masked]>
Date: Sat, 22 Oct 2011 05:51:09 -0400

On 10/21/2011 6:15 PM, Eli Zaretskii wrote:
>> Date: Fri, 21 Oct 2011 16:47:52 -0400
>> From: Ken Brown<[email-masked]>
>> CC: Andreas Schwab<[email-masked]>, [email-masked]
>>
>> OK, I figured out what's happening, and it is related to SIGALRM after
>> all.  In line 4406 of process.c, wait_reading_process_output reduces the
>> timeout for the select call (under certain circumstances) in an attempt
>> to prevent select from being interrupted by SIGALRM.  This seems to me
>> to be inherently unreliable, and, in particular, it consistently fails
>> on Cygwin.  In other words, the SIGALRM is delivered before select times
>> out, causing select to get interrupted.  So wait_reading_process_output
>> does indeed loop, and select fails every time (except when a key is
>> pressed).
>
> Why does reducing the timeout works on, say, GNU/Linux, but not on
> Cygwin?  What is different?  Clock granularity, perhaps?

Sorry, I'm wrong again.  As Stefan pointed out, it's harmless that 
select gets interrupted by SIGALRM.  That can't explain the gdb problem, 
which still isn't solved.

Ken