[Spice-devel] [spice-vdagent PATCH 2/2] virtio-port: handle_fds: make read and write code consistent
Uri Lublin
uril at redhat.com
Wed Aug 28 16:29:55 UTC 2019
On 8/28/19 7:13 PM, Frediano Ziglio wrote:
>>
>> "return early" before write too
>>
>> Signed-off-by: Uri Lublin <uril at redhat.com>
>> ---
>>
>> Alternatively, change the read part such that:
>>
>> if (*vportp && FD_ISSET((*vportp)->fd, readfds))
>> vdagent_virtio_port_do_read
>> if (*vportp && FD_ISSET((*vportp)->fd, writefds))
>> vdagent_virtio_port_do_write
>>
>>
>> ---
>> src/vdagentd/virtio-port.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/vdagentd/virtio-port.c b/src/vdagentd/virtio-port.c
>> index 3ae7f22..af5bd58 100644
>> --- a/src/vdagentd/virtio-port.c
>> +++ b/src/vdagentd/virtio-port.c
>> @@ -172,7 +172,10 @@ void vdagent_virtio_port_handle_fds(struct
>> vdagent_virtio_port **vportp,
>> if (FD_ISSET((*vportp)->fd, readfds))
>> vdagent_virtio_port_do_read(vportp);
>>
>> - if (*vportp && FD_ISSET((*vportp)->fd, writefds))
>> + if (!*vportp) /* may have been destroyed in do_read */
>> + return;
>> +
>> + if (FD_ISSET((*vportp)->fd, writefds))
>> vdagent_virtio_port_do_write(vportp);
>> }
>>
>
> They are equivalent (beside the comment which can be added on top of
> the if).
> I like the alternative version if it's really important.
OK, I'll send v2 with the alternative.
> Style: always brackets.
Yeah, I left it as it was ; I'll fix that too.
Thanks,
Uri.
More information about the Spice-devel
mailing list