[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#15801: 24.3.50; bar scrolling freezes gtk emacs
From: |
Jan Djärv |
Subject: |
bug#15801: 24.3.50; bar scrolling freezes gtk emacs |
Date: |
Sat, 30 Nov 2013 12:41:27 +0100 |
Hello.
21 nov 2013 kl. 08:25 skrev Jarek Czekalski <jarekczek@poczta.onet.pl>:
> W dniu 2013-11-21 07:00, Jan Djärv pisze:
>> It seems like Emacs stops receiving SIGIO. If it is blocked or if Gtk+
>> stole the signal handler I don't know yet.
>
> Sounds interesting, waiting for more info. I will be glad to learn more about
> signals. This is what I read on
> http://unixhelp.ed.ac.uk/CGI/man-cgi?signal+7, maybe it will be relevant:
>
> If more than one of the
> threads has the signal unblocked, then the kernel chooses an arbitrary
> thread to which to deliver the signal.
>
> There are several threads in action (some belonging to gtk), so this tells me
> Emacs cannot be sure to receive any kernel signal. Gtk uses the term signal
> for a different thing, it makes googling difficult.
Actually the signal handling is sane. It is somthing else.
In xdisp.c, redisplay_internal there is a path that turns off SIGIO and never
turn it on again.
I.e.:
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?
This is very hard to reproduce. I have to scroll like mad on a slow computer
to see it. On a faster computer I can't reproduce it. I guess it has to do
something with the time redisplay takes.
Jan D.
- bug#15801: 24.3.50; bar scrolling freezes gtk emacs, Jarek Czekalski, 2013/11/04
- bug#15801: 15801: commit identified, Jarek Czekalski, 2013/11/05
- bug#15801: it's a different revision, 112892, Jarek Czekalski, 2013/11/06
- bug#15801: it's a different revision, 112892, Jan Djärv, 2013/11/21
- bug#15801: 24.3.50; bar scrolling freezes gtk emacs, Jarek Czekalski, 2013/11/21
- bug#15801: 24.3.50; bar scrolling freezes gtk emacs,
Jan Djärv <=
- bug#15801: 24.3.50; bar scrolling freezes gtk emacs, Eli Zaretskii, 2013/11/30
- bug#15801: 24.3.50; bar scrolling freezes gtk emacs, Jan Djärv, 2013/11/30
- bug#15801: 24.3.50; bar scrolling freezes gtk emacs, Eli Zaretskii, 2013/11/30
- bug#15801: 24.3.50; bar scrolling freezes gtk emacs, Jan Djärv, 2013/11/30
- bug#15801: 24.3.50; bar scrolling freezes gtk emacs, Jarek Czekalski, 2013/11/30
- bug#15801: 24.3.50; bar scrolling freezes gtk emacs, Eli Zaretskii, 2013/11/30
bug#15801: 24.3.50; bar scrolling freezes gtk emacs, Jarek Czekalski, 2013/11/30
bug#15801: 24.3.50; bar scrolling freezes gtk emacs - stdout warning, Jarek Czekalski, 2013/11/30