On (Tue) Mar 23 2010 [11:46:54], Gerd Hoffmann wrote:
> On 03/23/10 10:13, Amit Shah wrote:
>>>> +  if (use_multiport(port->portdev)&&  !port->host_connected)
>>>> +          return -EPIPE;
>>>> +
>>>
>>> Hmm, do applications actually handle this error?
>>
>> Don't know; there aren't any apps yet that use this functionality too.
>
> Looks sensible to me.
>
>> However, some error has to be indicated to the app otherwise it's just
>> messy if the app keeps writing and receiving EAGAIN; we just get a tight
>> loop in this case.
>
> With poll support done right (don't signal "writable" when not  
> connected) this shouldn't be a issue.  Apps retrying over and over  
> without waiting for the filehandle becoming writable are broken by 
> design.

Yeah; poll returns POLLOUT only when the host connection is open. This
is for apps that write() without consulting poll().

> But apps can't disturgish between "ring full" and "host disconnected"  
> then.  So think returning -EPIPE here isn't a bad choice.

Yeah; that too.

                Amit
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/virtualization

Reply via email to