Subject: Re: bug#15801: 24.3.50; bar scrolling freezes gtk emacs

From: Jan Djärv <[email-masked]>
Date: Sat, 30 Nov 2013 13:51:11 +0100

Hello.

30 nov 2013 kl. 12:54 skrev Eli Zaretskii <[email-masked]>:

>> From: Jan Djärv <[email-masked]>
>> Date: Sat, 30 Nov 2013 12:41:27 +0100
>> Cc: [email-masked],
>> Eli Zaretskii <[email-masked]>
>> 
>> enter redisplay_internal
>> unrequest_sigio() /* Two paths to do this in the code */
>> goto retry /* Many places */
>> goto end_of_redisplay /* One place */
>> 
>> When this path in the code is taken, SIGIO is off (blocked) and never turned on again, and Emacs freezes.
>> 
>> Cc:ing Eli.  The obvious fix would be to request_sigio before exit.  Is there any side effects to this?
> 
> If you call request_sigio only if interrupts_deferred is non-zero, I
> see no adverse side effects.
> 
> In any case, code paths that turn off SIGIO and never turn it on again
> are obvious bugs.  Thanks for finding this one.

OK, I checked in a fix.  I can't reproduce the bug with this, but I had a hard time reproducing it anyway.

	Jan D.