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()
+ * so ignore explicitly its return value to make the
+ * compiler happy
+ */
+ RTE_SET_USED(r);
+
}