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: