diff options
author | Keith Packard <keithp@keithp.com> | 2015-12-08 14:39:46 -0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2016-05-26 16:07:54 -0700 |
commit | 6a5a4e60373c1386b311b2a8bb666c32d68a9d99 (patch) | |
tree | 1643ea974c60cefb7dbd6d646e40d77263babaa3 /dix/devices.c | |
parent | 8cf832c288dec13cbf3c25478a8ccef52d61f3db (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 'dix/devices.c')
-rw-r--r-- | dix/devices.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/dix/devices.c b/dix/devices.c index fcd0c08fa..9de84a627 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -493,14 +493,14 @@ DisableDevice(DeviceIntPtr dev, BOOL sendevent) FreeSprite(dev); - /* now that the device is disabled, we can reset the signal handler's + /* now that the device is disabled, we can reset the event reader's * last.slave */ - OsBlockSignals(); + input_lock(); for (other = inputInfo.devices; other; other = other->next) { if (other->last.slave == dev) other->last.slave = NULL; } - OsReleaseSignals(); + input_unlock(); LeaveWindow(dev); SetFocusOut(dev); @@ -1033,7 +1033,7 @@ CloseDownDevices(void) { DeviceIntPtr dev; - OsBlockSignals(); + input_lock(); /* Float all SDs before closing them. Note that at this point resources * (e.g. cursors) have been freed already, so we can't just call @@ -1060,7 +1060,7 @@ CloseDownDevices(void) XkbDeleteRulesDflts(); XkbDeleteRulesUsed(); - OsReleaseSignals(); + input_unlock(); } /** |