Oliver Neukum wrote:

1. Does waiting for the completion handler actually change the semantics?
   I would think not, but I am not sure.

You mean, does it change the existing semantics of synchronous usb_unlink_urb()? Yes, it does. Currently usb_unlink_urb() guarantees that when it returns the completion handler will have finished _only_ if it returns with no error. If it returns with an error code then the completion handler might not even have started running yet.


But we don't violate existing behavior, do we?
Always returning only after the completion handler has run seems
to be legal to me.

And it does return after the completion handler runs -- iff the unlink succeeded, and it was a synchronous unlink.


Making it wait even if the URB was completing normally would indeed change the semantics ... remember the routine is all about UNLINKING. Which is why using it to achieve anything else is bogus.

- Dave




-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE. http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to