Module Name: xsrc
Committed By: tsutsui
Date: Wed Mar 17 15:02:27 UTC 2021
Modified Files:
xsrc/external/mit/xorg-server/dist/hw/netbsd/x68k: x68kKbd.c
x68kMouse.c
xsrc/external/mit/xorg-server/dist/hw/sun: sunKbd.c sunMouse.c
Log Message:
Fixes "FatalError re-entered, aborting" error when Xservers get SIGSEGV.
Handle a new DEVICE_ABORT mode perperly in deviceProc funtions.
Also don't exit via FatalError() on an unknown mode because it looks
upstream assumes DDX deviceProc functions don't treat it fatal:
https://gitlab.freedesktop.org/xorg/xserver/-/commit/9f79e93b6b3416055d08a0e8f9f16d5fd0649e36
To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
xsrc/external/mit/xorg-server/dist/hw/netbsd/x68k/x68kKbd.c
cvs rdiff -u -r1.10 -r1.11 \
xsrc/external/mit/xorg-server/dist/hw/netbsd/x68k/x68kMouse.c
cvs rdiff -u -r1.9 -r1.10 xsrc/external/mit/xorg-server/dist/hw/sun/sunKbd.c
cvs rdiff -u -r1.4 -r1.5 xsrc/external/mit/xorg-server/dist/hw/sun/sunMouse.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: xsrc/external/mit/xorg-server/dist/hw/netbsd/x68k/x68kKbd.c
diff -u xsrc/external/mit/xorg-server/dist/hw/netbsd/x68k/x68kKbd.c:1.11 xsrc/external/mit/xorg-server/dist/hw/netbsd/x68k/x68kKbd.c:1.12
--- xsrc/external/mit/xorg-server/dist/hw/netbsd/x68k/x68kKbd.c:1.11 Thu Mar 11 12:08:57 2021
+++ xsrc/external/mit/xorg-server/dist/hw/netbsd/x68k/x68kKbd.c Wed Mar 17 15:02:27 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: x68kKbd.c,v 1.11 2021/03/11 12:08:57 tsutsui Exp $ */
+/* $NetBSD: x68kKbd.c,v 1.12 2021/03/17 15:02:27 tsutsui Exp $ */
/*-------------------------------------------------------------------------
* Copyright (c) 1996 Yasushi Yamasaki
* All rights reserved.
@@ -160,8 +160,9 @@ x68kKbdProc(DeviceIntPtr pDev, /* Keyboa
RemoveNotifyFd(x68kKbdPriv.fd);
pKeyboard->on = FALSE;
break;
- default:
- FatalError("Unknown keyboard operation\n");
+
+ case DEVICE_ABORT:
+ break;
}
return Success;
}
Index: xsrc/external/mit/xorg-server/dist/hw/netbsd/x68k/x68kMouse.c
diff -u xsrc/external/mit/xorg-server/dist/hw/netbsd/x68k/x68kMouse.c:1.10 xsrc/external/mit/xorg-server/dist/hw/netbsd/x68k/x68kMouse.c:1.11
--- xsrc/external/mit/xorg-server/dist/hw/netbsd/x68k/x68kMouse.c:1.10 Thu Mar 11 12:08:57 2021
+++ xsrc/external/mit/xorg-server/dist/hw/netbsd/x68k/x68kMouse.c Wed Mar 17 15:02:27 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: x68kMouse.c,v 1.10 2021/03/11 12:08:57 tsutsui Exp $ */
+/* $NetBSD: x68kMouse.c,v 1.11 2021/03/17 15:02:27 tsutsui Exp $ */
/*-------------------------------------------------------------------------
* Copyright (c) 1996 Yasushi Yamasaki
* All rights reserved.
@@ -195,6 +195,8 @@ x68kMouseProc(DeviceIntPtr device, int w
ErrorF("x68kMouseProc ioctl VUIDSFORMAT\n");
break;
+ case DEVICE_ABORT:
+ break;
}
return Success;
}
Index: xsrc/external/mit/xorg-server/dist/hw/sun/sunKbd.c
diff -u xsrc/external/mit/xorg-server/dist/hw/sun/sunKbd.c:1.9 xsrc/external/mit/xorg-server/dist/hw/sun/sunKbd.c:1.10
--- xsrc/external/mit/xorg-server/dist/hw/sun/sunKbd.c:1.9 Thu Mar 11 13:12:34 2021
+++ xsrc/external/mit/xorg-server/dist/hw/sun/sunKbd.c Wed Mar 17 15:02:27 2021
@@ -692,8 +692,9 @@ sunKbdProc(DeviceIntPtr device, int what
RemoveNotifyFd(pPriv->fd);
pKeyboard->on = FALSE;
break;
- default:
- FatalError("Unknown keyboard operation\n");
+
+ case DEVICE_ABORT:
+ break;
}
return Success;
}
Index: xsrc/external/mit/xorg-server/dist/hw/sun/sunMouse.c
diff -u xsrc/external/mit/xorg-server/dist/hw/sun/sunMouse.c:1.4 xsrc/external/mit/xorg-server/dist/hw/sun/sunMouse.c:1.5
--- xsrc/external/mit/xorg-server/dist/hw/sun/sunMouse.c:1.4 Thu Mar 11 11:54:41 2021
+++ xsrc/external/mit/xorg-server/dist/hw/sun/sunMouse.c Wed Mar 17 15:02:27 2021
@@ -180,6 +180,9 @@ sunMouseProc(DeviceIntPtr device, int wh
pMouse->on = FALSE;
RemoveNotifyFd(sunPtrPriv.fd);
break;
+
+ case DEVICE_ABORT:
+ break;
}
return Success;
}