[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'debian-unstable'



 debian/changelog                        |    7 ++++
 debian/patches/51_xkb-and-loathing.diff |   46 ++++++++++++++++++++++++++++++++
 debian/patches/series                   |    1 
 3 files changed, 54 insertions(+)

New commits:
commit 858ca265f9b3a95409d1c4c54b7af8d7b6c4e1e7
Author: Brice Goglin <Brice.Goglin@ens-lyon.org>
Date:   Sun Jul 15 09:43:44 2007 +0200

    Add 51_xkb-and-loathing.diff to fix a hang in OpenOffice.org when opening menus

diff --git a/debian/changelog b/debian/changelog
index 8426a7e..590e7c7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xorg-server (2:1.3.0.0.dfsg-12) UNRELEASED; urgency=low
+
+  * Add 51_xkb-and-loathing.diff to fix a hang in OpenOffice.org
+    when opening menus, closes: #433131.
+
+ -- Brice Goglin <Brice.Goglin@ens-lyon.org>  Sun, 15 Jul 2007 09:37:20 +0200
+
 xorg-server (2:1.3.0.0.dfsg-11) unstable; urgency=low
 
   * Yet another alpha build fix: also remove the asm/pci.h include from
diff --git a/debian/patches/51_xkb-and-loathing.diff b/debian/patches/51_xkb-and-loathing.diff
new file mode 100644
index 0000000..704062a
--- /dev/null
+++ b/debian/patches/51_xkb-and-loathing.diff
@@ -0,0 +1,46 @@
+* Mon Apr 30 2007 Adam Jackson <ajax@redhat.com> 1.3.0.0-3
+- xserver-1.3.0-xkb-and-loathing.patch: Ignore (not just block) SIGALRM
+  around calls to Popen()/Pclose().  Fixes a hang in openoffice when
+  opening menus.
+
+http://cvs.fedora.redhat.com/viewcvs/devel/xorg-x11-server/xserver-1.3.0-xkb-and-loathing.patch?view=markup
+https://bugs.freedesktop.org/show_bug.cgi?id=10525
+
+Fixes #433131
+
+--- xorg-server-1.3.0.0/os/utils.c.jx	2007-04-25 13:28:05.000000000 -0400
++++ xorg-server-1.3.0.0/os/utils.c	2007-04-30 14:33:04.000000000 -0400
+@@ -1726,6 +1726,8 @@
+     int pid;
+ } *pidlist;
+ 
++static sighandler_t old_alarm = NULL; /* XXX horrible awful hack */
++
+ pointer
+ Popen(char *command, char *type)
+ {
+@@ -1747,11 +1749,15 @@
+ 	return NULL;
+     }
+ 
++    /* Ignore the smart scheduler while this is going on */
++    old_alarm = signal(SIGALRM, SIG_IGN);
++
+     switch (pid = fork()) {
+     case -1: 	/* error */
+ 	close(pdes[0]);
+ 	close(pdes[1]);
+ 	xfree(cur);
++	signal(SIGALRM, old_alarm);
+ 	return NULL;
+     case 0:	/* child */
+ 	if (setgid(getgid()) == -1)
+@@ -1927,6 +1933,8 @@
+     /* allow EINTR again */
+     OsReleaseSignals ();
+     
++    signal(SIGALRM, old_alarm);
++
+     return pid == -1 ? -1 : pstat;
+ }
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 2a475cb..c9aa121 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -28,6 +28,7 @@
 48_disable_type1.diff
 49_map_keyboard_driver_to_kbd.diff -p0
 50_alpha_no_include_asm_pci.h.diff
+51_xkb-and-loathing.diff
 91_ttf2pt1
 91_ttf2pt1_updates
 92_xprint-security-holes-fix.patch



Reply to: