[sane-devel] genesys_gl841.c: infinite loops
Stefan Lucke
stefan at lucke.in-berlin.de
Wed Feb 6 18:41:12 UTC 2008
Hi,
I guess there are 3 possibilities for infinite loops.
Attached patch fixes this and adjusts loop threshold
to given comments..
--
Stefan Lucke
-------------- next part --------------
Index: backend/genesys_gl841.c
===================================================================
RCS file: /cvsroot/sane/sane-backends/backend/genesys_gl841.c,v
retrieving revision 1.19
diff -U 3 -r1.19 genesys_gl841.c
--- backend/genesys_gl841.c 3 Feb 2008 10:34:20 -0000 1.19
+++ backend/genesys_gl841.c 6 Feb 2008 18:29:28 -0000
@@ -3434,7 +3438,7 @@
return status;
}
- while (loop < 3) /* do not wait longer then 30 seconds */
+ while (loop < 300) /* do not wait longer then 30 seconds */
{
status = sanei_genesys_get_status (dev, &val);
if (status != SANE_STATUS_GOOD)
@@ -3452,6 +3456,7 @@
return SANE_STATUS_GOOD;
}
usleep (100000); /* sleep 100 ms */
+ ++loop;
}
/* when we come here then the scanner needed too much time for this, so we better stop the motor */
@@ -3579,7 +3584,7 @@
{
int loop = 0;
- while (loop < 3) /* do not wait longer then 30 seconds */
+ while (loop < 300) /* do not wait longer then 30 seconds */
{
status = sanei_genesys_get_status (dev, &val);
if (status != SANE_STATUS_GOOD)
@@ -3598,6 +3603,7 @@
return SANE_STATUS_GOOD;
}
usleep (100000); /* sleep 100 ms */
+ ++loop;
}
/* when we come here then the scanner needed too much time for this, so we better stop the motor */
@@ -3729,6 +3735,7 @@
}
}
usleep (100000);
+ ++loop;
}
} else {
DBG (DBG_info,
More information about the sane-devel
mailing list