mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-01-19 20:10:36 +01:00
mi: Don't hold the event mutex during SaveScreens()
(cherry picked from commit 17eebd7c10)
This commit is contained in:
parent
b02b5593d5
commit
b3ea0a2473
1 changed files with 8 additions and 8 deletions
16
mi/mieq.c
16
mi/mieq.c
|
|
@ -246,6 +246,14 @@ mieqProcessInputEvents(void)
|
|||
pthread_mutex_lock(&miEventQueueMutex);
|
||||
#endif
|
||||
while (miEventQueue.head != miEventQueue.tail) {
|
||||
memcpy(&e, &miEventQueue.events[miEventQueue.head], sizeof(EventRec));
|
||||
handler = miEventQueue.handlers[e.event[0].u.u.type];
|
||||
miEventQueue.head = (miEventQueue.head + 1) % QUEUE_SIZE;
|
||||
|
||||
#ifdef XQUARTZ
|
||||
pthread_mutex_unlock(&miEventQueueMutex);
|
||||
#endif
|
||||
|
||||
if (screenIsSaved == SCREEN_SAVER_ON)
|
||||
dixSaveScreens (serverClient, SCREEN_SAVER_OFF, ScreenSaverReset);
|
||||
#ifdef DPMSExtension
|
||||
|
|
@ -256,14 +264,6 @@ mieqProcessInputEvents(void)
|
|||
DPMSSet(serverClient, DPMSModeOn);
|
||||
#endif
|
||||
|
||||
memcpy(&e, &miEventQueue.events[miEventQueue.head], sizeof(EventRec));
|
||||
handler = miEventQueue.handlers[e.event[0].u.u.type];
|
||||
miEventQueue.head = (miEventQueue.head + 1) % QUEUE_SIZE;
|
||||
|
||||
#ifdef XQUARTZ
|
||||
pthread_mutex_unlock(&miEventQueueMutex);
|
||||
#endif
|
||||
|
||||
if (handler) {
|
||||
/* If someone's registered a custom event handler, let them
|
||||
* steal it. */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue