This apears to be a classic case of the 'sleep()' function being mistaken
for taking milliseconds as an argument. Since the argument is actually
seconds, the X server appears to freeze if the first EVIOCGID ioctl
fails. Reduce the retry interval from over 15 minutes to just 1 second.

Signed-off-by: Jason Gerecke <jason.gere...@wacom.com>
---
 src/xdrv/wcmValidateDevice.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/xdrv/wcmValidateDevice.c b/src/xdrv/wcmValidateDevice.c
index 9049108..11c5dd5 100755
--- a/src/xdrv/wcmValidateDevice.c
+++ b/src/xdrv/wcmValidateDevice.c
@@ -256,7 +256,7 @@ int wcmDeviceTypeKeys(LocalDevicePtr local, unsigned long* 
keys, size_t nkeys, i
 
                if (ioctl(fd, EVIOCGID, &wacom_id) < 0)
                {
-                       sleep(1000);
+                       sleep(1);
                        if (ioctl(fd, EVIOCGID, &wacom_id) < 0)
                        {
                                xf86Msg(X_ERROR, "%s: wcmDeviceTypeKeys unable 
to "
-- 
2.12.0


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to