[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/gtkutil.c
From: |
Jan Djärv |
Subject: |
[Emacs-diffs] Changes to emacs/src/gtkutil.c |
Date: |
Tue, 07 Dec 2004 03:56:49 -0500 |
Index: emacs/src/gtkutil.c
diff -c emacs/src/gtkutil.c:1.54 emacs/src/gtkutil.c:1.55
*** emacs/src/gtkutil.c:1.54 Tue Dec 7 08:09:10 2004
--- emacs/src/gtkutil.c Tue Dec 7 08:25:43 2004
***************
*** 23,32 ****
--- 23,34 ----
#ifdef USE_GTK
#include <string.h>
+ #include <signal.h>
#include <stdio.h>
#include "lisp.h"
#include "xterm.h"
#include "blockinput.h"
+ #include "syssignal.h"
#include "window.h"
#include "atimer.h"
#include "gtkutil.h"
***************
*** 1311,1316 ****
--- 1313,1325 ----
int filesel_done = 0;
xg_get_file_func func;
+ #if defined (HAVE_GTK_AND_PTHREAD) && defined (__SIGRTMIN)
+ /* I really don't know why this is needed, but without this the GLIBC add on
+ library linuxthreads hangs when the Gnome file chooser backend creates
+ threads. */
+ sigblock (sigmask (__SIGRTMIN));
+ #endif /* HAVE_GTK_AND_PTHREAD */
+
#ifdef HAVE_GTK_FILE_BOTH
extern int x_use_old_gtk_file_dialog;
***************
*** 1358,1363 ****
--- 1367,1376 ----
gtk_main_iteration ();
}
+ #if defined (HAVE_GTK_AND_PTHREAD) && defined (__SIGRTMIN)
+ sigunblock (sigmask (__SIGRTMIN));
+ #endif
+
if (filesel_done == GTK_RESPONSE_OK)
fn = (*func) (w);