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

From: Eli Zaretskii <[email-masked]>
Date: Sat, 30 Nov 2013 13:54:36 +0200

> 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.