GNU bug report logs - #12471
Avoid some signal-handling races, and simplify.

Previous Next

Package: emacs;

Reported by: Paul Eggert <eggert <at> cs.ucla.edu>

Date: Tue, 18 Sep 2012 23:42:02 UTC

Severity: normal

Tags: patch

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Jan Djärv <jan.h.d <at> swipnet.se>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 12471 <at> debbugs.gnu.org, Juanma Barranquero <lekktu <at> gmail.com>
Subject: bug#12471: Avoid some signal-handling races, and simplify.
Date: Wed, 19 Sep 2012 18:45:39 +0200
Hello.

19 sep 2012 kl. 01:39 skrev Paul Eggert <eggert <at> cs.ucla.edu>:

> * Signals are always redirected to the main thread, resulting in
>   incorrect backtraces when, for example, a subsidiary thread has
>   a segmentation violation.  Thread-specific signals like SIGSEGV
>   should have thread-specific backtraces.

and

+       * atimer.c (deliver_alarm_signal):
+       Remove.  No need to deliver this to the parent; any thread can
+       handle this signal now.  All uses replaced by underlying handler.

and

-static void
-deliver_alarm_signal (int sig)
-{
-  handle_on_main_thread (sig, handle_alarm_signal);
-}
-
-
-/* Call alarm signal handler for pending timers.  */

is totally wrong.  Thread sarted by Gnome/gtk+ plugins can not handle SIGALRM, so Emacs will terminate.   This is the reason for this in the first place. Don't install this and other stuff that removes redirecting signals to the main thread.

	Jan D.





This bug report was last modified 12 years and 245 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.