[Xquartz-changes] xserver: Branch 'server-1.14-branch' - 3 commits

Jeremy Huddleston jeremyhu at freedesktop.org
Sat Dec 7 01:40:46 PST 2013


 Xext/sync.c  |   11 ++++++++++-
 configure.ac |    6 +++---
 2 files changed, 13 insertions(+), 4 deletions(-)

New commits:
commit c30db601a619b741260f02aa08ccec57ab9d43ba
Author: Matt Dew <marcoz at osource.org>
Date:   Thu Nov 21 21:55:35 2013 -0700

    bump version to 1.14.4.901

diff --git a/configure.ac b/configure.ac
index 8797df5..4cc0a75 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,9 +26,9 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.60)
-AC_INIT([xorg-server], 1.14.4, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2013-10-31"
-RELEASE_NAME="October Flood"
+AC_INIT([xorg-server], 1.14.4.901, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2013-11-21"
+RELEASE_NAME="November Rain-rc1"
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 
commit 384588bd8408d50b1b29b174af75c7b1cd3ff60d
Merge: 6cc5efa 7ddc6f7
Author: Matt Dew <marcoz at osource.org>
Date:   Sat Nov 16 15:27:35 2013 -0700

    Merge commit '7ddc6f7f1ed0e0f85b2d617c59d75d5de1cd2d5a' into server-1.14-branch

commit 6cc5efa68e5fdc301ab9a381bffe88fe5c7865e2
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Wed Oct 30 15:40:58 2013 +1000

    sync: fix corner-case in triggering idle alarms
    
    ProcessInputEvent() resets the device idle times. If idle time was higher than
    the lower bracket, this should trigger an event in the idle time wakeup
    handler.
    
    If processing is slow, the idle time may advance past the lower bracket
    between the reset and the time the BlockHandler is called. In that case, we'd
    never schedule a wakeup to handle the event, causing us to randomly miss
    events.
    
    Ran tests with a neg transition trigger on 5ms with 200 repeats of the test
    and it succeeded. Anything below that gets a bit tricky to make sure the
    server sees the same idle time as the client usleeps for.
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Keith Packard <keithp at keithp.com>
    (cherry picked from commit f36f5a65f639b6524191d888d5bf89e73027156c)

diff --git a/Xext/sync.c b/Xext/sync.c
index 9b4d0a4..dd6633f 100644
--- a/Xext/sync.c
+++ b/Xext/sync.c
@@ -2654,7 +2654,16 @@ IdleTimeBlockHandler(pointer pCounter, struct timeval **wt, pointer LastSelectMa
     IdleTimeQueryValue(counter, &idle);
     counter->value = idle;      /* push, so CheckTrigger works */
 
-    if (less && XSyncValueLessOrEqual(idle, *less)) {
+    /**
+     * There's an indefinite amount of time between ProcessInputEvents()
+     * where the idle time is reset and the time we actually get here. idle
+     * may be past the lower bracket if we dawdled with the events, so
+     * check for whether we did reset and bomb out of select immediately.
+     */
+    if (less && XSyncValueGreaterThan(idle, *less) &&
+        LastEventTimeWasReset(priv->deviceid)) {
+        AdjustWaitForDelay(wt, 0);
+    } else if (less && XSyncValueLessOrEqual(idle, *less)) {
         /*
          * We've been idle for less than the threshold value, and someone
          * wants to know about that, but now we need to know whether they


More information about the Xquartz-changes mailing list