[sane-devel] sanei_usb and libusb_timeout

Henning Meier-Geinitz henning@meier-geinitz.de
Wed, 1 Dec 2004 20:25:33 +0100


Hi,

On Wed, Dec 01, 2004 at 02:54:59PM +0100, René Rebe wrote:
> the default timeout passed to libusb of 30 seconds is quite a bit long. 
> So recovering from errors is already quite annoying for some use cases. 
> Now I have a situation where I expect an error to happen for some models 
> and adjust the code-path of future commands due to this. An initial 
> timeout for the error that might happen for 50% of the scanners attached 
> is quite long ....
> 
> So I propose the hand libusb_timeout into the hands of the backend 
> author. Does anyone see problems with this? (except of [tiny] API 
> changes :-()

That's a good idea.

Maybe something like this:

SANE_Status
sanei_usb_set_timeout (SANE_Int msecs)
{
#ifdef HAVE_LIBUSB
  libusb_timeout = msecs;
  DBG (5, "sanei_usb_set_timeout:  set timeout to %d msecs\n", msecs);
  return SANE_STATUS_GOOD;
#else
  DBG (3, "sanei_usb_set_timeout:  libusb support missing\n");
  return SANE_STATUS_UNSUPPORTED;
#endif
}

That's completey untested.

Bye,
  Henning