On Mon, 3 Dec 2001, Pete Zaitcev wrote:
> > To: Greg KH <[EMAIL PROTECTED]>
> > cc: <[EMAIL PROTECTED]>, <[EMAIL PROTECTED]>
> > Date: Tue, 4 Dec 2001 01:04:35 +0100 (MET)
>
> > On Mon, 3 Dec 2001, Greg KH wrote:
> > > On Sun, Dec 02, 2001 at 12:38:08PM +0100, Oliver Neukum wrote:
> > > >
> > > > Here I don't understand you. Certainly an URB pool could be used. But why
> > > > would it prevent needing to wait. IMHO it would just mean waiting for a pool
> > > > of URBs to finish instead of waiting for a single URB.
> > >
> > > Why wait? If there are no urbs available, return saying you didn't
> > > write all of the data. The caller should be able to handle this, and it
> > > simplifies the driver logic.
> >
> > Simply returning AFAIK violates the standard.
> > We would end up waiting for free URBs.
> > And implementing an URB pool without races is not that simple.
>
> I don't think any standards are violated by returning
> writes short. However, the accepted common practice is to
> wait until all data are written if O_NONBLOCK is not set, and
> a lot of ad-hoc Linux printservers will blow up if we don't.
> If O_NONBLOCK is set, returning writes short is ok, IMHO.
Returning short writes is OK, but the issue would be whether zero length
writes are OK. IMHO they are not. However if they are not OK, then you
have to wait anyway. Unless nonblocking or aio or or something is used.
Regards
Oliver
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel