Subject: bug#14569: 24.3.50; bootstrap fails on Cygwin

From: Ken Brown <[email-masked]>
Date: Tue, 25 Jun 2013 09:55:44 -0400

On 6/25/2013 9:34 AM, Ken Brown wrote:
> On 6/24/2013 7:50 PM, Angelo Graziosi wrote:
>> Only after applying this 2nd solution, i.e. the patch
>>
>> $ cat process.c.patch
>> --- emacs-trunk/src/process.c    2013-06-24 12:28:49.562500000 +0200
>> +++ emacs/src/process.c    2013-06-25 01:11:52.890625000 +0200
>> @@ -7085,8 +7085,8 @@
>>        Do this here, rather than early in Emacs initialization where it
>>        might make more sense, to try to avoid bugs in Cygwin glib
>> (Bug#14569).  */
>>     {
>> -    GSource *source = g_child_watch_source_new (getpid ());
>> -    g_source_unref (source);
>> +    /*GSource *source = g_child_watch_source_new (getpid ());
>> +      g_source_unref (source);*/
>>     }
>>   #endif
>>
>> the bootstrap completed *without* errors! (With just the first, the same
>> errors shows up in the build log...)
>
> My experience is the same.  Thanks for the reminder that it's necessary
> to check the build log for error messages, even when the build appears
> to complete successfully.

Question for Paul: I'm trying to understand the code that led to this 
problem in the first place, and I'm puzzled by the asymmetry between 
block_child_signal and unblock_child_signal.  The first blocks SIGCHLD, 
while the second unblocks *all* signals.  Why is this the right thing to do?

Ken