Hello community,

here is the log from the commit of package xorg-x11-server for openSUSE:Factory 
checked in at 2017-11-16 13:58:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xorg-x11-server (Old)
 and      /work/SRC/openSUSE:Factory/.xorg-x11-server.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xorg-x11-server"

Thu Nov 16 13:58:39 2017 rev:349 rq:541788 version:1.19.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/xorg-x11-server/xorg-x11-server.changes  
2017-10-23 16:36:09.916777437 +0200
+++ /work/SRC/openSUSE:Factory/.xorg-x11-server.new/xorg-x11-server.changes     
2017-11-16 13:58:41.270683671 +0100
@@ -1,0 +2,7 @@
+Tue Nov 14 09:57:04 UTC 2017 - [email protected]
+
+- u_os-inputthread-Force-unlock-when-stopping-thread.patch
+  * Prevent dead lock if terminating while on inactive VT.
+    (bnc#1062977)
+
+-------------------------------------------------------------------

New:
----
  u_os-inputthread-Force-unlock-when-stopping-thread.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xorg-x11-server.spec ++++++
--- /var/tmp/diff_new_pack.RwqBXG/_old  2017-11-16 13:58:42.490639469 +0100
+++ /var/tmp/diff_new_pack.RwqBXG/_new  2017-11-16 13:58:42.494639324 +0100
@@ -206,6 +206,7 @@
 Patch210:       u_os-connections-Check-for-stale-FDs.patch
 
 Patch215:       u_Use-better-fallbacks-to-generate-cookies-if-arc4rand.patch
+Patch216:       u_os-inputthread-Force-unlock-when-stopping-thread.patch
 
 Patch1000:      n_xserver-optimus-autoconfig-hack.patch
 
@@ -340,6 +341,7 @@
 #%patch210 -p1
 
 %patch215 -p1
+%patch216 -p1
 
 ### disabled for now
 #%patch1000 -p1

++++++ u_os-inputthread-Force-unlock-when-stopping-thread.patch ++++++
Author: Michal Srb <[email protected]>
Subject: os/inputthread: Force unlock when stopping thread.
Patch-Mainline: To be upstreamed
References: bnc#1062977

The inputthread is kept locked all the time while X server's VT is not active.
If the X server is terminated while not active, it will be stuck forever in
InputThreadFini waiting for the thread to join, but it wouldn't because it is
locked.
---
This fixes the X server termination while its VT is not active. I think it
should be safe to force unlock it from InputThreadFini - X server is
terminating and nothing else should race there, but I am not completely sure. 

 os/inputthread.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/os/inputthread.c b/os/inputthread.c
index 721e86312..dc4eb9f20 100644
--- a/os/inputthread.c
+++ b/os/inputthread.c
@@ -497,6 +497,7 @@ InputThreadFini(void)
 
     /* Close the pipe to get the input thread to shut down */
     close(hotplugPipeWrite);
+    input_force_unlock();
     pthread_join(inputThreadInfo->thread, NULL);
 
     xorg_list_for_each_entry_safe(dev, next, &inputThreadInfo->devs, node) {
-- 
2.12.3


Reply via email to