[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: [EMAIL PROTECTED] | Canada  K2A 1H7   | if you're concerned about Hell.
http://FamilyRadio.com/                   | http://Mielke.cc/bible/
_______________________________________________
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: [email protected]
For general information, go to: http://mielke.cc/mailman/listinfo/brltty

Reply via email to