[Spice-devel] [spice-vdagent PATCH 2/2] virtio-port: handle_fds: make read and write code consistent
Frediano Ziglio
fziglio at redhat.com
Wed Aug 28 16:13:58 UTC 2019
>
> "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.
Style: always brackets.
Frediano
More information about the Spice-devel
mailing list