xfree86: suspend signals while removing a device.
Getting a keyboard event while halfway through freeing memory can be unpleasant.
This commit is contained in:
parent
30e9a33f7d
commit
74372fd004
|
@ -475,6 +475,7 @@ DeleteInputDeviceRequest(DeviceIntPtr pDev)
|
||||||
drv = pInfo->drv;
|
drv = pInfo->drv;
|
||||||
idev = pInfo->conf_idev;
|
idev = pInfo->conf_idev;
|
||||||
}
|
}
|
||||||
|
OsBlockSignals();
|
||||||
RemoveDevice(pDev);
|
RemoveDevice(pDev);
|
||||||
|
|
||||||
if (pDev->isMaster)
|
if (pDev->isMaster)
|
||||||
|
@ -484,6 +485,7 @@ DeleteInputDeviceRequest(DeviceIntPtr pDev)
|
||||||
drv->UnInit(drv, pInfo, 0);
|
drv->UnInit(drv, pInfo, 0);
|
||||||
else
|
else
|
||||||
xf86DeleteInput(pInfo, 0);
|
xf86DeleteInput(pInfo, 0);
|
||||||
|
OsReleaseSignals();
|
||||||
|
|
||||||
/* devices added through HAL aren't in the config layout */
|
/* devices added through HAL aren't in the config layout */
|
||||||
it = xf86ConfigLayout.inputs;
|
it = xf86ConfigLayout.inputs;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user