summaryrefslogtreecommitdiff
path: root/mi
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2015-12-08 14:39:46 -0800
committerKeith Packard <keithp@keithp.com>2016-05-26 16:07:54 -0700
commit6a5a4e60373c1386b311b2a8bb666c32d68a9d99 (patch)
tree1643ea974c60cefb7dbd6d646e40d77263babaa3 /mi
parent8cf832c288dec13cbf3c25478a8ccef52d61f3db (diff)
Remove SIGIO support for input [v5]
This removes all of the SIGIO handling support used for input throughout the X server, preparing the way for using threads for input handling instead. Places calling OsBlockSIGIO and OsReleaseSIGIO are marked with calls to stub functions input_lock/input_unlock so that we don't lose this information. xfree86 SIGIO support is reworked to use internal versions of OsBlockSIGIO and OsReleaseSIGIO. v2: Don't change locking order (Peter Hutterer) v3: Comment weird && FALSE in xf86Helper.c Leave errno save/restore in xf86ReadInput Squash with stub adding patch (Peter Hutterer) v4: Leave UseSIGIO config parameter so that existing config files don't break (Peter Hutterer) v5: Split a couple of independent patch bits out of kinput.c (Peter Hutterer) Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'mi')
-rw-r--r--mi/mieq.c6
-rw-r--r--mi/mipointer.c4
2 files changed, 5 insertions, 5 deletions
diff --git a/mi/mieq.c b/mi/mieq.c
index 01812bdeb..8fbe6c363 100644
--- a/mi/mieq.c
+++ b/mi/mieq.c
@@ -145,10 +145,10 @@ mieqGrowQueue(EventQueuePtr eventQueue, size_t new_nevents)
n_enqueued = mieqNumEnqueued(eventQueue);
- /* We block signals, so an mieqEnqueue triggered by SIGIO does not
+ /* We lock input, so an mieqEnqueue does not
* write to our queue as we are modifying it.
*/
- OsBlockSignals();
+ input_lock();
/* First copy the existing events */
first_hunk = eventQueue->nevents - eventQueue->head;
@@ -181,7 +181,7 @@ mieqGrowQueue(EventQueuePtr eventQueue, size_t new_nevents)
free(eventQueue->events);
eventQueue->events = new_events;
- OsReleaseSignals();
+ input_unlock();
return TRUE;
}
diff --git a/mi/mipointer.c b/mi/mipointer.c
index caa7a9f93..3f6252d2f 100644
--- a/mi/mipointer.c
+++ b/mi/mipointer.c
@@ -750,7 +750,7 @@ miPointerMove(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)
POINTER_SCREEN | POINTER_ABSOLUTE |
POINTER_NORAW, &mask);
- OsBlockSignals();
+ input_lock();
#ifdef XQUARTZ
darwinEvents_lock();
#endif
@@ -759,5 +759,5 @@ miPointerMove(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)
#ifdef XQUARTZ
darwinEvents_unlock();
#endif
- OsReleaseSignals();
+ input_unlock();
}