+2015-03-29 Jan Djärv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (xg_display_open):
+ * xterm.c (x_display_ok, x_term_init): Block SIGIO when opening
+ a display (Bug#19175).
+
2015-04-01 Nicolas Petton <nicolas@petton.fr>
* Version 24.5 released.
bool
x_display_ok (const char *display)
{
- Display *dpy = XOpenDisplay (display);
+ Display *dpy;
+ // XOpenDisplay fails if it gets a signal. Block SIGIO which may arrive.
+ unrequest_sigio ();
+ dpy = XOpenDisplay (display);
+ request_sigio ();
return dpy ? (XCloseDisplay (dpy), 1) : 0;
}
/* gtk_init does set_locale. Fix locale before and after. */
fixup_locale ();
+ unrequest_sigio (); // See comment in x_display_ok.
gtk_init (&argc, &argv2);
+ request_sigio ();
fixup_locale ();
g_log_remove_handler ("GLib", id);
argv[argc++] = xrm_option;
}
turn_on_atimers (0);
+ unrequest_sigio (); // See comment in x_display_ok.
dpy = XtOpenDisplay (Xt_app_con, SSDATA (display_name),
resource_name, EMACS_CLASS,
emacs_options, XtNumber (emacs_options),
&argc, argv);
+ request_sigio ();
turn_on_atimers (1);
#ifdef HAVE_X11XTR6
#else /* not USE_X_TOOLKIT */
XSetLocaleModifiers ("");
+ unrequest_sigio (); // See comment in x_display_ok.
dpy = XOpenDisplay (SSDATA (display_name));
+ request_sigio ();
#endif /* not USE_X_TOOLKIT */
#endif /* not USE_GTK*/