Thank you for the quick reply. If you don't mind, I have a follow-up
question. I appear to run in to deadlock when I call ClearPipeStall()
when holding the workloop gate, I assume for the reasons you mentioned.
Does this mean I should never call ClearPipeStall() from within a read
completion callback also?
-Dan
On Fri, 22 Apr 2005, Fernando Urbina wrote:
> Your callbacks will be returned in order. The callback is issued
> while holding the workloop gate, so another callback won't happen
> until you process your original. This is why it's not a good idea to
> issue synchronous requests from a callback -- they will never
> complete as they won't be able to grab the gate. (This is not
> entirely true for Tiger anymore, as we will use the commandSleep/Wake
> API's to release the gate while issuing a synchronous request).
>
> HTH,
>
> --
> Fernando Urbina
> USB Technology Team
> Apple Computer, Inc.
>
> On Apr 22, 2005, at 9:12 AM, Daniel Sumorok wrote:
>
> > I am developing an in-kernel usb driver where I am queueing up
> > several asynchonous Reads to a bulk pipe, each with the same read
> > completion routine. If several read operations complete at the
> > same time,
> > is the read completion function going to be called on a different
> > thread
> > simultaneously for each completion, or is it going to be called
> > serially
> > so that the read completion function must return for the first read
> > before
> > the read completion function is called for the second read?
> >
>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/usb/email@hidden
This email sent to email@hidden