aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/packages/rpm/sle11/SOURCES/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/packages/rpm/sle11/SOURCES/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch')
-rw-r--r--contrib/packages/rpm/sle11/SOURCES/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch92
1 files changed, 0 insertions, 92 deletions
diff --git a/contrib/packages/rpm/sle11/SOURCES/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch b/contrib/packages/rpm/sle11/SOURCES/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch
deleted file mode 100644
index fcfd07f5..00000000
--- a/contrib/packages/rpm/sle11/SOURCES/0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From d1d9d4e5f8f9ac1d22e1258759d6ee9e49c7fe90 Mon Sep 17 00:00:00 2001
-From: Egbert Eich <eich@freedesktop.org>
-Date: Fri, 9 Apr 2010 15:10:32 +0200
-Subject: [PATCH] Prevent XSync Alarms from senslessly calling CheckTrigger() when inactive.
-
-If an XSync Alarm is set to inactive there is no need to check if a trigger
-needs to fire. Doing so if the counter is the IdleCounter will put the
-server on 100 percent CPU load since the select timeout is set to 0.
----
- xorg-server-1.8.0/Xext/sync.c | 11 +++++++++--
- xorg-server-1.8.0/Xext/syncsrv.h | 1 +
- 2 files changed, 10 insertions(+), 2 deletions(-)
-
-Index: xorg-server-1.8.0/Xext/sync.c
-===================================================================
---- xorg-server-1.8.0.orig/Xext/sync.c
-+++ xorg-server-1.8.0/Xext/sync.c
-@@ -518,6 +518,10 @@ SyncAlarmTriggerFired(SyncTrigger *pTrig
- pAlarm->state = XSyncAlarmInactive;
- }
- }
-+ /* Stop server from looping! */
-+ if (pAlarm->state == XSyncAlarmInactive)
-+ SyncDeleteTriggerFromCounter(&pAlarm->trigger);
-+
- /* The AlarmNotify event has to have the "new state of the alarm"
- * which we can't be sure of until this point. However, it has
- * to have the "old" trigger test value. That's the reason for
-@@ -730,7 +734,7 @@ SyncChangeAlarmAttributes(ClientPtr clie
- XSyncCounter counter;
- Mask origmask = mask;
-
-- counter = pAlarm->trigger.pCounter ? pAlarm->trigger.pCounter->id : None;
-+ counter = pAlarm->counter_id;
-
- while (mask)
- {
-@@ -741,7 +745,7 @@ SyncChangeAlarmAttributes(ClientPtr clie
- case XSyncCACounter:
- mask &= ~XSyncCACounter;
- /* sanity check in SyncInitTrigger */
-- counter = *values++;
-+ counter = pAlarm->counter_id = *values++;
- break;
-
- case XSyncCAValueType:
-@@ -808,6 +812,14 @@ SyncChangeAlarmAttributes(ClientPtr clie
- return BadMatch;
- }
- }
-+ if (pAlarm->state == XSyncAlarmInactive) {
-+ /*
-+ * If we are inactive the trigger has been deleted from the counter.
-+ * Persuade SyncInitTrigger() to readd it.
-+ */
-+ origmask |= XSyncCACounter;
-+ pAlarm->trigger.pCounter = NULL;
-+ }
-
- /* postpone this until now, when we're sure nothing else can go wrong */
- if ((status = SyncInitTrigger(client, &pAlarm->trigger, counter,
-@@ -815,6 +827,7 @@ SyncChangeAlarmAttributes(ClientPtr clie
- return status;
-
- /* XXX spec does not really say to do this - needs clarification */
-+ /* It's the only place where it is set to XSyncAlarmActive! */
- pAlarm->state = XSyncAlarmActive;
- return Success;
- }
-@@ -1617,8 +1630,10 @@ ProcSyncCreateAlarm(ClientPtr client)
-
- pAlarm->client = client;
- pAlarm->alarm_id = stuff->id;
-+ pAlarm->counter_id = None;
- XSyncIntToValue(&pAlarm->delta, 1L);
- pAlarm->events = TRUE;
-+ /* SyncChangeAlarmAttributes() changes this - no need to set this here! */
- pAlarm->state = XSyncAlarmInactive;
- pAlarm->pEventClients = NULL;
- status = SyncChangeAlarmAttributes(client, pAlarm, vmask,
-Index: xorg-server-1.8.0/Xext/syncsrv.h
-===================================================================
---- xorg-server-1.8.0.orig/Xext/syncsrv.h
-+++ xorg-server-1.8.0/Xext/syncsrv.h
-@@ -129,6 +129,7 @@ typedef struct _SyncAlarm {
- int events;
- int state;
- SyncAlarmClientList *pEventClients;
-+ XSyncCounter counter_id;
- } SyncAlarm;
-
- typedef struct {