summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2016-06-07 15:52:15 -0400
committerAdam Jackson <ajax@redhat.com>2016-06-08 11:36:32 -0400
commit5bcdd1cc753d8e60c249eeacba695653af1a39d8 (patch)
treea9e388823d5269579ffee0cb5feaee9f44c801c4
parent48a9b29b0a09b865492d60e8a7cd2a94864fbb3f (diff)
dix: Update some comments to reflect the new non-SIGIO input model
Signed-off-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Keith Packard <keithp@keithp.com>
-rw-r--r--hw/dmx/doc/dmx.xml11
-rw-r--r--hw/dmx/input/dmxevents.c4
-rw-r--r--hw/dmx/input/lnx-keyboard.c2
-rw-r--r--hw/dmx/input/lnx-ms.c2
-rw-r--r--hw/dmx/input/lnx-ps2.c2
-rw-r--r--hw/dmx/input/usb-common.c2
-rw-r--r--hw/dmx/input/usb-keyboard.c2
-rw-r--r--hw/xfree86/common/xf86Privstr.h3
-rw-r--r--hw/xfree86/common/xf86str.h2
-rw-r--r--mi/mieq.c3
-rw-r--r--mi/mipointer.c5
-rw-r--r--mi/mipointrst.h2
12 files changed, 17 insertions, 23 deletions
diff --git a/hw/dmx/doc/dmx.xml b/hw/dmx/doc/dmx.xml
index 40b9e421c..f10cf79dc 100644
--- a/hw/dmx/doc/dmx.xml
+++ b/hw/dmx/doc/dmx.xml
@@ -944,14 +944,9 @@ are missing.
<title>devReadInput()</title>
<para>Each device will have some function that gets called to read its
-physical input. These may be called in a number of different ways. In
-the case of synchronous I/O, they will be called from a DDX
-wakeup-handler that gets called after the server detects that new input is
-available. In the case of asynchronous I/O, they will be called from a
-(SIGIO) signal handler triggered when new input is available. This
-function should do at least two things: make sure that input events get
-enqueued, and make sure that the cursor gets moved for motion events
-(except if these are handled later by the driver's own event queue
+physical input. This function should do at least two things: make sure that
+input events get enqueued, and make sure that the cursor gets moved for motion
+events (except if these are handled later by the driver's own event queue
processing function, which cannot be done when using the MI event queue
handling).
</para>
diff --git a/hw/dmx/input/dmxevents.c b/hw/dmx/input/dmxevents.c
index 235ba21a3..fb0c00fe1 100644
--- a/hw/dmx/input/dmxevents.c
+++ b/hw/dmx/input/dmxevents.c
@@ -585,7 +585,7 @@ dmxInvalidateGlobalPosition(void)
* \a DMX_ABSOLUTE_CONFINED (in the latter case, the pointer will not be
* allowed to move outside the global boundaires).
*
- * If \a block is set to \a DMX_BLOCK, then the SIGIO handler will be
+ * If \a block is set to \a DMX_BLOCK, then the input thread will be
* blocked around calls to \a enqueueMotion(). */
void
dmxMotion(DevicePtr pDev, int *v, int firstAxes, int axesCount,
@@ -689,7 +689,7 @@ dmxFixup(DevicePtr pDev, int detail, KeySym keySym)
* KeyRelease event, then the \a keySym is also specified.
*
* FIXME: make the code do what the comment says, or remove this comment.
- * If \a block is set to \a DMX_BLOCK, then the SIGIO handler will be
+ * If \a block is set to \a DMX_BLOCK, then the input thread will be
* blocked around calls to dmxeqEnqueue(). */
void
diff --git a/hw/dmx/input/lnx-keyboard.c b/hw/dmx/input/lnx-keyboard.c
index 2a5ce7947..a273f6b71 100644
--- a/hw/dmx/input/lnx-keyboard.c
+++ b/hw/dmx/input/lnx-keyboard.c
@@ -820,7 +820,7 @@ kbdLinuxConvert(DevicePtr pDev,
* event, enqueue it with the \a motion function. Otherwise, check for
* special keys with the \a checkspecial function and enqueue the event
* with the \a enqueue function. The \a block type is passed to the
- * functions so that they may block SIGIO handling as appropriate to the
+ * functions so that they may block the input thread as appropriate to the
* caller of this function. */
void
kbdLinuxRead(DevicePtr pDev,
diff --git a/hw/dmx/input/lnx-ms.c b/hw/dmx/input/lnx-ms.c
index 621f0fecc..cb3b25f09 100644
--- a/hw/dmx/input/lnx-ms.c
+++ b/hw/dmx/input/lnx-ms.c
@@ -191,7 +191,7 @@ msLinuxButton(DevicePtr pDev, ENQUEUEPROC enqueue, int buttons, BLOCK block)
* event, enqueue it with the \a motion function. Otherwise, check for
* special keys with the \a checkspecial function and enqueue the event
* with the \a enqueue function. The \a block type is passed to the
- * functions so that they may block SIGIO handling as appropriate to the
+ * functions so that they may block the input thread as appropriate to the
* caller of this function. */
void
msLinuxRead(DevicePtr pDev,
diff --git a/hw/dmx/input/lnx-ps2.c b/hw/dmx/input/lnx-ps2.c
index dd70cb8ea..9041974c9 100644
--- a/hw/dmx/input/lnx-ps2.c
+++ b/hw/dmx/input/lnx-ps2.c
@@ -187,7 +187,7 @@ ps2LinuxButton(DevicePtr pDev, ENQUEUEPROC enqueue, int buttons, BLOCK block)
* event, enqueue it with the \a motion function. Otherwise, check for
* special keys with the \a checkspecial function and enqueue the event
* with the \a enqueue function. The \a block type is passed to the
- * functions so that they may block SIGIO handling as appropriate to the
+ * functions so that they may block the input thread as appropriate to the
* caller of this function. */
void
ps2LinuxRead(DevicePtr pDev, MOTIONPROC motion,
diff --git a/hw/dmx/input/usb-common.c b/hw/dmx/input/usb-common.c
index 67aa07e0a..8c62abafb 100644
--- a/hw/dmx/input/usb-common.c
+++ b/hw/dmx/input/usb-common.c
@@ -77,7 +77,7 @@
/** Read an event from the \a pDev device. If the event is a motion
* event, enqueue it with the \a motion function. Otherwise, enqueue
* the event with the \a enqueue function. The \a block type is passed
- * to the functions so that they may block SIGIO handling as appropriate
+ * to the functions so that they may block the input thread as appropriate
* to the caller of this function.
*
* Since USB devices return EV_KEY events for buttons and keys, \a
diff --git a/hw/dmx/input/usb-keyboard.c b/hw/dmx/input/usb-keyboard.c
index 65bfcd00d..e41ad40eb 100644
--- a/hw/dmx/input/usb-keyboard.c
+++ b/hw/dmx/input/usb-keyboard.c
@@ -379,7 +379,7 @@ kbdUSBConvert(DevicePtr pDev,
* event, enqueue it with the \a motion function. Otherwise, check for
* special keys with the \a checkspecial function and enqueue the event
* with the \a enqueue function. The \a block type is passed to the
- * functions so that they may block SIGIO handling as appropriate to the
+ * functions so that they may block the input thread as appropriate to the
* caller of this function. */
void
kbdUSBRead(DevicePtr pDev,
diff --git a/hw/xfree86/common/xf86Privstr.h b/hw/xfree86/common/xf86Privstr.h
index 2951983f6..9e327b962 100644
--- a/hw/xfree86/common/xf86Privstr.h
+++ b/hw/xfree86/common/xf86Privstr.h
@@ -80,8 +80,7 @@ typedef struct {
Bool miscModInDevEnabled; /* Allow input devices to be
* changed */
Bool miscModInDevAllowNonLocal;
- Bool useSIGIO; /* Use SIGIO for handling
- input device events */
+ Bool useSIGIO; /* Use SIGIO for handling DRI1 swaps */
Pix24Flags pixmap24;
MessageType pix24From;
Bool pmFlag;
diff --git a/hw/xfree86/common/xf86str.h b/hw/xfree86/common/xf86str.h
index 5e6e97778..bfcb75ec0 100644
--- a/hw/xfree86/common/xf86str.h
+++ b/hw/xfree86/common/xf86str.h
@@ -678,7 +678,7 @@ typedef struct _ScrnInfoRec {
/* Allow screens to be enabled/disabled individually */
Bool vtSema;
- /* hw cursor moves at SIGIO time */
+ /* hw cursor moves from input thread */
Bool silkenMouse;
/* Storage for clockRanges and adjustFlags for use with the VidMode ext */
diff --git a/mi/mieq.c b/mi/mieq.c
index f2db5a699..05447d647 100644
--- a/mi/mieq.c
+++ b/mi/mieq.c
@@ -239,8 +239,7 @@ mieqEnqueue(DeviceIntPtr pDev, InternalEvent *e)
else if (n_enqueued + 1 == miEventQueue.nevents) {
if (!mieqGrowQueue(&miEventQueue, miEventQueue.nevents << 1)) {
/* Toss events which come in late. Usually this means your server's
- * stuck in an infinite loop somewhere, but SIGIO is still getting
- * handled.
+ * stuck in an infinite loop in the main thread.
*/
miEventQueue.dropped++;
if (miEventQueue.dropped == 1) {
diff --git a/mi/mipointer.c b/mi/mipointer.c
index 3f6252d2f..01f3bd2fe 100644
--- a/mi/mipointer.c
+++ b/mi/mipointer.c
@@ -555,8 +555,9 @@ miPointerMoveNoEvent(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)
pPointer = MIPOINTER(pDev);
/* Hack: We mustn't call into ->MoveCursor for anything but the
- * VCP, as this may cause a non-HW rendered cursor to be rendered during
- * SIGIO. This again leads to allocs during SIGIO which leads to SIGABRT.
+ * VCP, as this may cause a non-HW rendered cursor to be rendered while
+ * not holding the input lock. This would race with building the command
+ * buffer for other rendering.
*/
if (GetMaster(pDev, MASTER_POINTER) == inputInfo.pointer
&&!pScreenPriv->waitForUpdate && pScreen == pPointer->pSpriteScreen) {
diff --git a/mi/mipointrst.h b/mi/mipointrst.h
index 4319b12c6..7419ac107 100644
--- a/mi/mipointrst.h
+++ b/mi/mipointrst.h
@@ -38,7 +38,7 @@ typedef struct {
miPointerSpriteFuncPtr spriteFuncs; /* sprite-specific methods */
miPointerScreenFuncPtr screenFuncs; /* screen-specific methods */
CloseScreenProcPtr CloseScreen;
- Bool waitForUpdate; /* don't move cursor in SIGIO */
+ Bool waitForUpdate; /* don't move cursor from input thread */
Bool showTransparent; /* show empty cursors */
} miPointerScreenRec, *miPointerScreenPtr;
#endif /* MIPOINTRST_H */