summaryrefslogtreecommitdiff
path: root/Xext
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2016-04-01 22:44:26 -0400
committerAdam Jackson <ajax@redhat.com>2016-05-04 10:58:01 -0400
commit137ac094e7ab8c871f3b36e40ad826ac797f0e26 (patch)
tree176d84564ba28a563152634d5726ada7ce613969 /Xext
parentac164e58870d70640381e68b776eb95578c7fbd3 (diff)
dix: Push UpdateCurrentTimeIf down out of the main loop
This was added in: commit 312910b4e34215aaa50fc0c6092684d5878dc32f Author: Chase Douglas <chase.douglas@canonical.com> Date: Wed Apr 18 11:15:40 2012 -0700 Update currentTime in dispatch loop Unfortunately this is equivalent to calling GetTimeInMillis() once per request. In the absolute best case (as on Linux) you're only hitting the vDSO; on other platforms that's a syscall. Either way it puts a pretty hard ceiling on request throughput. Instead, push the call down to the requests that need it; basically, grab processing and event generation. Cc: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Adam Jackson <ajax@redhat.com>
Diffstat (limited to 'Xext')
-rw-r--r--Xext/shape.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/Xext/shape.c b/Xext/shape.c
index 2fc789ec1..142f9c178 100644
--- a/Xext/shape.c
+++ b/Xext/shape.c
@@ -881,6 +881,7 @@ SendShapeNotify(WindowPtr pWin, int which)
default:
return;
}
+ UpdateCurrentTimeIf();
for (pShapeEvent = *pHead; pShapeEvent; pShapeEvent = pShapeEvent->next) {
xShapeNotifyEvent se = {
.type = ShapeNotify + ShapeEventBase,