debian/changelog | 7 + debian/patches/135_rethrow_signals.patch | 119 +++++++++++++++++++++++++++---- debian/patches/series | 2 3 files changed, 114 insertions(+), 14 deletions(-)
New commits: commit 1d458e625f810cdacc4067f61a35483075253a88 Author: Bryce Harrington <br...@bryceharrington.org> Date: Tue Dec 16 19:00:24 2008 -0800 Updating patch for xserver 1.6 and reenable (Actually, the patch martin posted to the bug was missing some necessary bits) diff --git a/debian/changelog b/debian/changelog index 4fe8135..f23949a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,13 @@ xorg-server (2:1.5.99.3-0ubuntu3) UNRELEASED; urgency=low + [Timo Aaltonen] * debian/rules: Disable builtin fonts (LP: #308649) - -- Timo Aaltonen <tjaal...@ubuntu.com> Tue, 16 Dec 2008 20:28:57 +0200 + [Bryce Harrington] + * 135_rethrow_signals.patch: Update for 1.6 and re-enable. + [Closes LP: #226668] + + -- Bryce Harrington <br...@ubuntu.com> Tue, 16 Dec 2008 18:57:43 -0800 xorg-server (2:1.5.99.3-0ubuntu2) jaunty; urgency=low diff --git a/debian/patches/135_rethrow_signals.patch b/debian/patches/135_rethrow_signals.patch index 9286900..863abd4 100644 --- a/debian/patches/135_rethrow_signals.patch +++ b/debian/patches/135_rethrow_signals.patch @@ -2,11 +2,10 @@ # signal actually get processed. This now rethrows the originally # caught signal instead of just aborting, so that apport now actually # works. (LP: #226668) -Index: xorg-server-1.5.3/hw/xfree86/common/xf86Events.c -=================================================================== ---- xorg-server-1.5.3.orig/hw/xfree86/common/xf86Events.c 2008-12-10 22:55:34.000000000 -0800 -+++ xorg-server-1.5.3/hw/xfree86/common/xf86Events.c 2008-12-10 22:55:41.000000000 -0800 -@@ -568,6 +568,8 @@ +diff -Nurp patched/hw/xfree86/common/xf86Events.c working/hw/xfree86/common/xf86Events.c +--- patched/hw/xfree86/common/xf86Events.c 2008-12-16 18:28:54.000000000 -0800 ++++ working/hw/xfree86/common/xf86Events.c 2008-12-16 18:36:41.000000000 -0800 +@@ -362,6 +362,8 @@ xf86InterceptSigIll(void (*sigillhandler void xf86SigHandler(int signo) { @@ -15,7 +14,7 @@ Index: xorg-server-1.5.3/hw/xfree86/common/xf86Events.c if ((signo == SIGILL) && xf86SigIllHandler) { (*xf86SigIllHandler)(); /* Re-arm handler just in case we unexpectedly return here */ -@@ -590,6 +592,41 @@ +@@ -384,6 +386,41 @@ xf86SigHandler(int signo) xorg_backtrace(); @@ -57,11 +56,107 @@ Index: xorg-server-1.5.3/hw/xfree86/common/xf86Events.c FatalError("Caught signal %d. Server aborting\n", signo); } -Index: xorg-server-1.5.3/include/os.h -=================================================================== ---- xorg-server-1.5.3.orig/include/os.h 2008-12-10 22:55:34.000000000 -0800 -+++ xorg-server-1.5.3/include/os.h 2008-12-10 22:55:41.000000000 -0800 -@@ -458,7 +458,9 @@ +diff -Nurp patched/hw/xfree86/common/xf86Init.c working/hw/xfree86/common/xf86Init.c +--- patched/hw/xfree86/common/xf86Init.c 2008-12-16 18:16:50.000000000 -0800 ++++ working/hw/xfree86/common/xf86Init.c 2008-12-16 18:34:38.000000000 -0800 +@@ -1375,14 +1375,17 @@ OsVendorInit() + } + + /* +- * ddxGiveUp -- ++ * ddxSigGiveUp -- + * Device dependent cleanup. Called by by dix before normal server death. + * For SYSV386 we must switch the terminal back to normal mode. No error- + * checking here, since there should be restored as much as possible. ++ * ++ * If a non-zero signo is passed, re-raise that signal rather than ++ * calling abort(). + */ + + void +-ddxGiveUp() ++ddxSigGiveUp(int signo) + { + int i; + +@@ -1410,24 +1413,47 @@ ddxGiveUp() + + xf86CloseConsole(); + ++ ErrorF (" ddxSigGiveUp: Closing log\n"); + xf86CloseLog(); + + /* If an unexpected signal was caught, dump a core for debugging */ +- if (xf86Info.caughtSignal) +- abort(); ++ if (xf86Info.caughtSignal) { ++ if (signo != 0) { ++ ErrorF (" ddxSigGiveUp: re-raising %d\n", signo); ++ raise(signo); ++ } else { ++ ErrorF (" ddxSigGiveUp: aborting\n"); ++ abort(); ++ } ++ } + } + ++/* ++ * ddxGiveUp -- ++ * Device dependent cleanup. Called by by dix before normal server death. ++ * For SYSV386 we must switch the terminal back to normal mode. No error- ++ * checking here, since there should be restored as much as possible. ++ */ ++ ++void ++ddxGiveUp() ++{ ++ ddxSigGiveUp(0); ++} + + + /* +- * AbortDDX -- ++ * SigAbortDDX -- + * DDX - specific abort routine. Called by AbortServer(). The attempt is + * made to restore all original setting of the displays. Also all devices + * are closed. ++ * ++ * If a non-zero signo is passed, re-raise that signal rather than calling ++ * abort() + */ + + void +-AbortDDX() ++SigAbortDDX(int signo) + { + int i; + +@@ -1459,7 +1485,20 @@ AbortDDX() + * This is needed for an abnormal server exit, since the normal exit stuff + * MUST also be performed (i.e. the vt must be left in a defined state) + */ +- ddxGiveUp(); ++ ddxSigGiveUp(signo); ++} ++ ++/* ++ * AbortDDX -- ++ * DDX - specific abort routine. The attempt is made to restore ++ * all original setting of the displays. Also all devices are ++ * closed. ++ */ ++ ++void ++AbortDDX() ++{ ++ SigAbortDDX(0); + } + + void +diff -Nurp patched/include/os.h working/include/os.h +--- patched/include/os.h 2008-12-16 18:28:54.000000000 -0800 ++++ working/include/os.h 2008-12-16 18:17:00.000000000 -0800 +@@ -437,7 +437,9 @@ typedef struct { extern CallbackListPtr FlushCallback; extern void AbortDDX(void); @@ -70,4 +165,4 @@ Index: xorg-server-1.5.3/include/os.h +extern void ddxSigGiveUp(int signo); extern int TimeSinceLastInputEvent(void); - /* Logging. */ + /* strcasecmp.c */ diff --git a/debian/patches/series b/debian/patches/series index 1f2104d..907ec23 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -8,7 +8,7 @@ 107_fedora_dont_backfill_bg_none.patch 110_fedora_no_move_damage.patch 121_only_switch_vt_when_active.diff -#135_rethrow_signals.patch +135_rethrow_signals.patch 140_quell_acpi_errmsgs.patch 143_default_to_vesa.patch 150_dont-update-vcp-valuators.patch -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org