xfree86: suspend signals while removing a device.

Getting a keyboard event while halfway through freeing memory can be
unpleasant.
This commit is contained in:
Peter Hutterer 2008-05-22 18:02:10 +09:30
parent 30e9a33f7d
commit 74372fd004

View File

@ -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;