Document GTK Emacs kill on display close in PROBLEMS.
* src/xterm.c (x_connection_closed): Expand comment.
This commit is contained in:
parent
655441b28a
commit
931c1dfaae
2 changed files with 16 additions and 11 deletions
19
etc/PROBLEMS
19
etc/PROBLEMS
|
@ -241,19 +241,18 @@ necessary but missing, please report it via M-x report-emacs-bug.
|
|||
On platforms such as Solaris, you can also work around this problem by
|
||||
configuring your compiler to use the native linker instead of GNU ld.
|
||||
|
||||
** Emacs compiled with Gtk+ crashes when closing a display (x-close-connection).
|
||||
** When Emacs is compiled with Gtk+, closing a display kills Emacs.
|
||||
|
||||
This happens because of bugs in Gtk+. Gtk+ 2.10 seems to be OK. See bug
|
||||
http://bugzilla.gnome.org/show_bug.cgi?id=85715.
|
||||
There is a long-standing bug in GTK that prevents it from recovering
|
||||
from disconnects: http://bugzilla.gnome.org/show_bug.cgi?id=85715.
|
||||
|
||||
** Emacs compiled with Gtk+ may loop forever if a display crashes.
|
||||
Thus, for instance, when Emacs is run as a server on a text terminal,
|
||||
and an X frame is created, and the X server for that frame crashes or
|
||||
exits unexpectedly, Emacs must exit to prevent a GTK error that would
|
||||
result in an endless loop.
|
||||
|
||||
This is related to the bug above. A scenario for this is when emacs is run
|
||||
as a server, and an X frame is created. If the X server for the frame
|
||||
crashes or exits unexpectedly and an attempt is made to create a new
|
||||
frame on another X display, then a Gtk+ error happens in the emacs
|
||||
server that results in an endless loop. This is not fixed in any known
|
||||
Gtk+ version (2.14.4 being current).
|
||||
If you need Emacs to be able to recover from closing displays, compile
|
||||
it with the Lucid toolkit instead of GTK.
|
||||
|
||||
* General runtime problems
|
||||
|
||||
|
|
|
@ -7911,7 +7911,13 @@ x_connection_closed (dpy, error_message)
|
|||
#endif
|
||||
|
||||
#ifdef USE_GTK
|
||||
/* Due to bugs in some Gtk+ versions, just exit here. */
|
||||
/* There is a long-standing bug in GTK that prevents the GTK
|
||||
main loop from recovering gracefully from disconnects
|
||||
(https://bugzilla.gnome.org/show_bug.cgi?id=85715). Among
|
||||
other problems, this gives rise to a stream of Glib error
|
||||
messages that, in one incident, filled up a user's hard disk
|
||||
(http://lists.gnu.org/archive/html/emacs-devel/2010-10/msg00927.html).
|
||||
So, kill Emacs unconditionally if the display is closed. */
|
||||
{
|
||||
fprintf (stderr, "%s\n", error_msg);
|
||||
Fkill_emacs (make_number (70));
|
||||
|
|
Loading…
Add table
Reference in a new issue