Drivers call xf86InstallSIGIOHandler() for their fd on DEVICE_ON. That function does not actually enable the signal if it was blocked to begin with. As a result, if one vt-switches away from the server (SIGIO is blocked) and then triggers a server regeneration, the signal remains blocked and input devices are dead.
Avoid this by always unblocking SIGIO when we start the server. X.Org Bug 50957 <http://bugs.freedesktop.org/show_bug.cgi?id=50957> Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> --- hw/xfree86/common/xf86Init.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c index ca6efd4..526b95d 100644 --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c @@ -964,6 +964,7 @@ OsVendorInit(void) } #endif #endif + xf86UnblockSIGIO(0); beenHere = TRUE; } -- 1.7.10.4 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel