On 3/30/2018 4:18 PM, Andrew Rybchenko wrote: > 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 <arybche...@solarflare.com> >> Signed-off-by: Tonghao Zhang <xiangxia.m....@gmail.com> >> Signed-off-by: Maxime Coquelin <maxime.coque...@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()
I can fix while applying. > >> + * so ignore explicitly its return value to make the >> + * compiler happy >> + */ >> + RTE_SET_USED(r); >> + >> } >