Drop custom sigio block/unblock functions from kdrive, ephyr and dmx

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Peter Hutterer 2012-06-22 15:18:53 +10:00
parent 5d309af2ed
commit d04dfe3f75
5 changed files with 24 additions and 88 deletions

View File

@ -227,25 +227,25 @@ dmxCoreMotion(DevicePtr pDev, int x, int y, int delta, DMXBlockType block)
&& pScreen->myNum == dmxScreen->index) { && pScreen->myNum == dmxScreen->index) {
/* Screen is old screen */ /* Screen is old screen */
if (block) if (block)
dmxSigioBlock(); OsBlockSIGIO();
if (pDev) if (pDev)
enqueueMotion(pDev, localX, localY); enqueueMotion(pDev, localX, localY);
if (block) if (block)
dmxSigioUnblock(); OsReleaseSIGIO();
} }
else { else {
/* Screen is new */ /* Screen is new */
DMXDBG4(" New screen: old=%d new=%d localX=%d localY=%d\n", DMXDBG4(" New screen: old=%d new=%d localX=%d localY=%d\n",
pScreen->myNum, dmxScreen->index, localX, localY); pScreen->myNum, dmxScreen->index, localX, localY);
if (block) if (block)
dmxSigioBlock(); OsBlockSIGIO();
mieqProcessInputEvents(); mieqProcessInputEvents();
miPointerSetScreen(inputInfo.pointer, dmxScreen->index, miPointerSetScreen(inputInfo.pointer, dmxScreen->index,
localX, localY); localX, localY);
if (pDev) if (pDev)
enqueueMotion(pDev, localX, localY); enqueueMotion(pDev, localX, localY);
if (block) if (block)
dmxSigioUnblock(); OsReleaseSIGIO();
} }
#if 00 #if 00
miPointerGetPosition(inputInfo.pointer, &localX, &localY); miPointerGetPosition(inputInfo.pointer, &localX, &localY);
@ -387,12 +387,12 @@ dmxExtMotion(DMXLocalInputInfoPtr dmxLocal,
} }
if (block) if (block)
dmxSigioBlock(); OsBlockSIGIO();
valuator_mask_set_range(&mask, firstAxis, axesCount, v); valuator_mask_set_range(&mask, firstAxis, axesCount, v);
QueuePointerEvents(pDevice, MotionNotify, 0, POINTER_ABSOLUTE, &mask); QueuePointerEvents(pDevice, MotionNotify, 0, POINTER_ABSOLUTE, &mask);
if (block) if (block)
dmxSigioUnblock(); OsReleaseSIGIO();
} }
static int static int
@ -492,10 +492,10 @@ dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal,
valuator_mask_set_range(&mask, ke->first_axis, ke->axes_count, valuator_mask_set_range(&mask, ke->first_axis, ke->axes_count,
valuators); valuators);
if (block) if (block)
dmxSigioBlock(); OsBlockSIGIO();
QueueKeyboardEvents(pDevice, event, ke->keycode, &mask); QueueKeyboardEvents(pDevice, event, ke->keycode, &mask);
if (block) if (block)
dmxSigioUnblock(); OsReleaseSIGIO();
break; break;
case XI_DeviceButtonPress: case XI_DeviceButtonPress:
case XI_DeviceButtonRelease: case XI_DeviceButtonRelease:
@ -503,11 +503,11 @@ dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal,
valuator_mask_set_range(&mask, ke->first_axis, ke->axes_count, valuator_mask_set_range(&mask, ke->first_axis, ke->axes_count,
valuators); valuators);
if (block) if (block)
dmxSigioBlock(); OsBlockSIGIO();
QueuePointerEvents(pDevice, event, ke->keycode, QueuePointerEvents(pDevice, event, ke->keycode,
POINTER_ABSOLUTE, &mask); POINTER_ABSOLUTE, &mask);
if (block) if (block)
dmxSigioUnblock(); OsReleaseSIGIO();
break; break;
case XI_ProximityIn: case XI_ProximityIn:
case XI_ProximityOut: case XI_ProximityOut:
@ -515,10 +515,10 @@ dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal,
valuator_mask_set_range(&mask, ke->first_axis, ke->axes_count, valuator_mask_set_range(&mask, ke->first_axis, ke->axes_count,
valuators); valuators);
if (block) if (block)
dmxSigioBlock(); OsBlockSIGIO();
QueueProximityEvents(pDevice, event, &mask); QueueProximityEvents(pDevice, event, &mask);
if (block) if (block)
dmxSigioUnblock(); OsReleaseSIGIO();
break; break;
break; break;

View File

@ -84,28 +84,6 @@ dmxSigioHandler(int sig)
} }
} }
/** Block SIGIO handling. */
void
dmxSigioBlock(void)
{
sigset_t s;
sigemptyset(&s);
sigaddset(&s, SIGIO);
sigprocmask(SIG_BLOCK, &s, 0);
}
/** Unblock SIGIO handling. */
void
dmxSigioUnblock(void)
{
sigset_t s;
sigemptyset(&s);
sigaddset(&s, SIGIO);
sigprocmask(SIG_UNBLOCK, &s, 0);
}
static void static void
dmxSigioHook(void) dmxSigioHook(void)
{ {

View File

@ -36,8 +36,6 @@
#ifndef _DMXSIGIO_H_ #ifndef _DMXSIGIO_H_
#define _DMXSIGIO_H_ #define _DMXSIGIO_H_
extern void dmxSigioBlock(void);
extern void dmxSigioUnblock(void);
extern void dmxSigioEnableInput(void); extern void dmxSigioEnableInput(void);
extern void dmxSigioDisableInput(void); extern void dmxSigioDisableInput(void);
extern void dmxSigioRegister(DMXInputInfo * dmxInput, int fd); extern void dmxSigioRegister(DMXInputInfo * dmxInput, int fd);

View File

@ -772,26 +772,6 @@ ephyrUpdateModifierState(unsigned int state)
} }
} }
static void
ephyrBlockSigio(void)
{
sigset_t set;
sigemptyset(&set);
sigaddset(&set, SIGIO);
sigprocmask(SIG_BLOCK, &set, 0);
}
static void
ephyrUnblockSigio(void)
{
sigset_t set;
sigemptyset(&set);
sigaddset(&set, SIGIO);
sigprocmask(SIG_UNBLOCK, &set, 0);
}
static Bool static Bool
ephyrCursorOffScreen(ScreenPtr *ppScreen, int *x, int *y) ephyrCursorOffScreen(ScreenPtr *ppScreen, int *x, int *y)
{ {
@ -808,11 +788,11 @@ int ephyrCurScreen; /*current event screen */
static void static void
ephyrWarpCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) ephyrWarpCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)
{ {
ephyrBlockSigio(); OsBlockSIGIO();
ephyrCurScreen = pScreen->myNum; ephyrCurScreen = pScreen->myNum;
miPointerWarpCursor(inputInfo.pointer, pScreen, x, y); miPointerWarpCursor(inputInfo.pointer, pScreen, x, y);
ephyrUnblockSigio(); OsReleaseSIGIO();
} }
miPointerScreenFuncRec ephyrPointerScreenFuncs = { miPointerScreenFuncRec ephyrPointerScreenFuncs = {

View File

@ -102,26 +102,6 @@ KdSigio(int sig)
(*kdInputFds[i].read) (kdInputFds[i].fd, kdInputFds[i].closure); (*kdInputFds[i].read) (kdInputFds[i].fd, kdInputFds[i].closure);
} }
static void
KdBlockSigio(void)
{
sigset_t set;
sigemptyset(&set);
sigaddset(&set, SIGIO);
sigprocmask(SIG_BLOCK, &set, 0);
}
static void
KdUnblockSigio(void)
{
sigset_t set;
sigemptyset(&set);
sigaddset(&set, SIGIO);
sigprocmask(SIG_UNBLOCK, &set, 0);
}
#ifdef DEBUG_SIGIO #ifdef DEBUG_SIGIO
void void
@ -261,7 +241,7 @@ KdDisableInput(void)
KdPointerInfo *pi; KdPointerInfo *pi;
int found = 0, i = 0; int found = 0, i = 0;
KdBlockSigio(); OsBlockSIGIO();
for (ki = kdKeyboards; ki; ki = ki->next) { for (ki = kdKeyboards; ki; ki = ki->next) {
if (ki->driver && ki->driver->Disable) if (ki->driver && ki->driver->Disable)
@ -343,7 +323,7 @@ KdEnableInput(void)
NoticeEventTime(&ev, pi->dixdev); NoticeEventTime(&ev, pi->dixdev);
NoticeEventTime(&ev, ki->dixdev); NoticeEventTime(&ev, ki->dixdev);
KdUnblockSigio(); OsReleaseSIGIO();
} }
static KdKeyboardDriver * static KdKeyboardDriver *
@ -1801,7 +1781,7 @@ KdReleaseAllKeys(void)
int key; int key;
KdKeyboardInfo *ki; KdKeyboardInfo *ki;
KdBlockSigio(); OsBlockSIGIO();
for (ki = kdKeyboards; ki; ki = ki->next) { for (ki = kdKeyboards; ki; ki = ki->next) {
for (key = ki->keySyms.minKeyCode; key < ki->keySyms.maxKeyCode; key++) { for (key = ki->keySyms.minKeyCode; key < ki->keySyms.maxKeyCode; key++) {
@ -1812,7 +1792,7 @@ KdReleaseAllKeys(void)
} }
} }
KdUnblockSigio(); OsReleaseSIGIO();
#endif #endif
} }
@ -2009,18 +1989,18 @@ KdWakeupHandler(ScreenPtr pScreen,
if (kdInputEnabled && result > 0) { if (kdInputEnabled && result > 0) {
for (i = 0; i < kdNumInputFds; i++) for (i = 0; i < kdNumInputFds; i++)
if (FD_ISSET(kdInputFds[i].fd, pReadmask)) { if (FD_ISSET(kdInputFds[i].fd, pReadmask)) {
KdBlockSigio(); OsBlockSIGIO();
(*kdInputFds[i].read) (kdInputFds[i].fd, kdInputFds[i].closure); (*kdInputFds[i].read) (kdInputFds[i].fd, kdInputFds[i].closure);
KdUnblockSigio(); OsReleaseSIGIO();
} }
} }
for (pi = kdPointers; pi; pi = pi->next) { for (pi = kdPointers; pi; pi = pi->next) {
if (pi->timeoutPending) { if (pi->timeoutPending) {
if ((long) (GetTimeInMillis() - pi->emulationTimeout) >= 0) { if ((long) (GetTimeInMillis() - pi->emulationTimeout) >= 0) {
pi->timeoutPending = FALSE; pi->timeoutPending = FALSE;
KdBlockSigio(); OsBlockSIGIO();
KdReceiveTimeout(pi); KdReceiveTimeout(pi);
KdUnblockSigio(); OsReleaseSIGIO();
} }
} }
} }
@ -2117,10 +2097,10 @@ int KdCurScreen; /* current event screen */
static void static void
KdWarpCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) KdWarpCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)
{ {
KdBlockSigio(); OsBlockSIGIO();
KdCurScreen = pScreen->myNum; KdCurScreen = pScreen->myNum;
miPointerWarpCursor(pDev, pScreen, x, y); miPointerWarpCursor(pDev, pScreen, x, y);
KdUnblockSigio(); OsReleaseSIGIO();
} }
miPointerScreenFuncRec kdPointerScreenFuncs = { miPointerScreenFuncRec kdPointerScreenFuncs = {