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>
This commit is contained in:
Keith Packard 2015-12-08 14:39:46 -08:00
commit 6a5a4e6037
28 changed files with 115 additions and 456 deletions

View file

@ -762,7 +762,7 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
ioctl(xf86Info.consoleFd, VT_RELDISP, VT_ACKACQ);
#endif
xf86AccessEnter();
OsBlockSIGIO();
input_lock();
sigio_blocked = TRUE;
}
}
@ -864,7 +864,7 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
xf86VGAarbiterWrapFunctions();
if (sigio_blocked)
OsReleaseSIGIO();
input_unlock();
xf86InitOrigins();
@ -1010,7 +1010,7 @@ AbortDDX(enum ExitCode error)
{
int i;
OsBlockSIGIO();
input_lock();
/*
* try to restore the original video state