diff options
author | Tiago Vignatti <tiago.vignatti@nokia.com> | 2010-07-11 23:17:33 +0300 |
---|---|---|
committer | Tiago Vignatti <tiago.vignatti@nokia.com> | 2010-07-11 23:58:18 +0300 |
commit | 241b303db338456a439f74d932d28d2a893eb73e (patch) | |
tree | 996072355371103c8d8fb821fc0d4e38b9aed1ee | |
parent | 2fb21af30c35c4118bf1d6fe42ff49ff4e4a9b07 (diff) |
mi: clean up xquartz pthread entry points
Group all functions inside one chunk only, removing macro conditionals all
over the code.
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
-rw-r--r-- | mi/mieq.c | 64 |
1 files changed, 26 insertions, 38 deletions
@@ -96,6 +96,18 @@ static inline void wait_for_server_init(void) { pthread_mutex_unlock(&serverInitCompleteMutex); } } + +static inline void queue_mutex_lock(void) { + pthread_mutex_lock(&miEventQueueMutex); +} + +static inline void queue_mutex_unlock(void) { + pthread_mutex_unlock(&miEventQueueMutex); +} +#else +static inline void wait_for_server_init(void) {} +static inline void queue_mutex_lock(void) {} +static inline void queue_mutex_unlock(void) {} #endif Bool @@ -151,10 +163,8 @@ mieqEnqueue(DeviceIntPtr pDev, InternalEvent *e) int evlen; Time time; -#ifdef XQUARTZ wait_for_server_init(); - pthread_mutex_lock(&miEventQueueMutex); -#endif + queue_mutex_lock(); CHECKEVENT(e); @@ -178,9 +188,7 @@ mieqEnqueue(DeviceIntPtr pDev, InternalEvent *e) xorg_backtrace(); stuck = 1; } -#ifdef XQUARTZ - pthread_mutex_unlock(&miEventQueueMutex); -#endif + queue_mutex_unlock(); return; } stuck = 0; @@ -195,9 +203,7 @@ mieqEnqueue(DeviceIntPtr pDev, InternalEvent *e) if (!evt->event) { ErrorF("[mi] Running out of memory. Tossing event.\n"); -#ifdef XQUARTZ - pthread_mutex_unlock(&miEventQueueMutex); -#endif + queue_mutex_unlock(); return; } } @@ -217,39 +223,30 @@ mieqEnqueue(DeviceIntPtr pDev, InternalEvent *e) miEventQueue.lastMotion = isMotion; miEventQueue.tail = (oldtail + 1) % QUEUE_SIZE; -#ifdef XQUARTZ - pthread_mutex_unlock(&miEventQueueMutex); -#endif + + queue_mutex_unlock(); } void mieqSwitchScreen(DeviceIntPtr pDev, ScreenPtr pScreen, Bool fromDIX) { -#ifdef XQUARTZ - pthread_mutex_lock(&miEventQueueMutex); -#endif + queue_mutex_lock(); EnqueueScreen(pDev) = pScreen; if (fromDIX) DequeueScreen(pDev) = pScreen; -#ifdef XQUARTZ - pthread_mutex_unlock(&miEventQueueMutex); -#endif + queue_mutex_unlock(); } void mieqSetHandler(int event, mieqHandler handler) { -#ifdef XQUARTZ - pthread_mutex_lock(&miEventQueueMutex); -#endif + queue_mutex_lock(); if (handler && miEventQueue.handlers[event]) ErrorF("[mi] mieq: warning: overriding existing handler %p with %p for " "event %d\n", miEventQueue.handlers[event], handler, event); miEventQueue.handlers[event] = handler; -#ifdef XQUARTZ - pthread_mutex_unlock(&miEventQueueMutex); -#endif + queue_mutex_unlock(); } /** @@ -430,10 +427,8 @@ mieqProcessInputEvents(void) DeviceIntPtr dev = NULL, master = NULL; -#ifdef XQUARTZ - pthread_mutex_lock(&miEventQueueMutex); -#endif - + queue_mutex_lock(); + while (miEventQueue.head != miEventQueue.tail) { e = &miEventQueue.events[miEventQueue.head]; @@ -452,9 +447,7 @@ mieqProcessInputEvents(void) miEventQueue.head = (miEventQueue.head + 1) % QUEUE_SIZE; -#ifdef XQUARTZ - pthread_mutex_unlock(&miEventQueueMutex); -#endif + queue_mutex_unlock(); master = (dev && !IsMaster(dev) && dev->u.master) ? dev->u.master : NULL; @@ -474,12 +467,7 @@ mieqProcessInputEvents(void) if (event->any.type == ET_Motion && master) miPointerUpdateSprite(dev); -#ifdef XQUARTZ - pthread_mutex_lock(&miEventQueueMutex); -#endif + queue_mutex_lock(); } -#ifdef XQUARTZ - pthread_mutex_unlock(&miEventQueueMutex); -#endif + queue_mutex_unlock(); } - |