[BRLTTY] USB failures in windows

Dave Mielke dave at mielke.cc
Mon Jul 9 08:59:03 EDT 2007


[quoted lines by Samuel Thibault on 2007/07/09 at 13:55 +0200]

>> >- are ETIMEDOUT and EAGAIN really non-recoverable errors?
>> 
>> Not necessarily. This may be an oversight. Which piece of code are you
>> referring to?
>
>usbReadEndpoint() 

Okay, you must mean the portable call of it from usbAwaitInput(), then, since
it's not the job of the platform-dependent usbReadEndpoint() to retry anything.
The code which calls it does this:

   #ifdef ETIMEDOUT
   if (errno == ETIMEDOUT) errno = EAGAIN;
   #endif /* ETIMEDOUT */
   if (errno != EAGAIN) break;

So we have a bit of a problem. EAGAIN indeed is recoverable, and so is
ETIMEDOUT. The problem is that we can't make ETIMEDOUT recoverable if we don't
know its value.

-- 
Dave Mielke           | 2213 Fox Crescent | I believe that the Bible is the
Phone: 1-613-726-0014 | Ottawa, Ontario   | Word of God. Please contact me
EMail: dave at mielke.cc | Canada  K2A 1H7   | if you're concerned about Hell.
http://FamilyRadio.com/                   | http://Mielke.cc/bible/


More information about the BRLTTY mailing list