[dpdk-dev] [PATCH] vhost: fix build issue caused by unchecked returned values
Andrew Rybchenko
arybchenko at solarflare.com
Fri Mar 30 17:18:44 CEST 2018
On 03/30/2018 06:16 PM, Maxime Coquelin wrote:
> This patch fixes below build issue seen with some compilers
> or build options:
>
> lib/librte_vhost/fd_man.c: In function ‘fdset_pipe_read_cb’:
> lib/librte_vhost/fd_man.c:284:2: error: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Werror=unused-result]
> read(readfd, charbuf, sizeof(charbuf));
> ^
> lib/librte_vhost/fd_man.c: In function ‘fdset_pipe_notify’:
> lib/librte_vhost/fd_man.c:324:2: error: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Werror=unused-result]
> write(fdset->u.writefd, "1", 1);
> ^
>
> Reported-by: Andrew Rybchenko <arybchenko at solarflare.com>
> Signed-off-by: Tonghao Zhang <xiangxia.m.yue at gmail.com>
> Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>
> ---
> lib/librte_vhost/fd_man.c | 17 +++++++++++++++--
> 1 file changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/lib/librte_vhost/fd_man.c b/lib/librte_vhost/fd_man.c
> index ca1ba2622..1f9e22f96 100644
> --- a/lib/librte_vhost/fd_man.c
> +++ b/lib/librte_vhost/fd_man.c
> @@ -281,7 +281,13 @@ fdset_pipe_read_cb(int readfd, void *dat __rte_unused,
> int *remove __rte_unused)
> {
> char charbuf[16];
> - read(readfd, charbuf, sizeof(charbuf));
> + int r = read(readfd, charbuf, sizeof(charbuf));
> + /*
> + * Just an optimization, we don't care if read() failed
> + * so ignore explicitly its return value to make the
> + * compiler happy
> + */
> + RTE_SET_USED(r);
> }
>
> void
> @@ -321,5 +327,12 @@ fdset_pipe_init(struct fdset *fdset)
> void
> fdset_pipe_notify(struct fdset *fdset)
> {
> - write(fdset->u.writefd, "1", 1);
> + int r = write(fdset->u.writefd, "1", 1);
> + /*
> + * Just an optimization, we don't care if read() failed
read() -> write()
> + * so ignore explicitly its return value to make the
> + * compiler happy
> + */
> + RTE_SET_USED(r);
> +
> }
More information about the dev
mailing list