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
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization