DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: Olivier MATZ <olivier.matz@6wind.com>
Cc: Stephen Hemminger <stephen@networkplumber.org>, dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH] cmdline: fix warning for unused return value
Date: Fri, 8 Sep 2017 10:01:16 +0100	[thread overview]
Message-ID: <20170908090116.GD35580@bricha3-MOBL3.ger.corp.intel.com> (raw)
In-Reply-To: <20170907194617.igcohinh53imc3mk@neon>

On Thu, Sep 07, 2017 at 09:46:18PM +0200, Olivier MATZ wrote:
> On Thu, Sep 07, 2017 at 10:50:20AM -0700, Stephen Hemminger wrote:
> > On Thu,  7 Sep 2017 14:09:23 +0100
> > Bruce Richardson <bruce.richardson@intel.com> wrote:
> > 
> > > When DPDK is compiled on Ubuntu with extra warnings turned on, there is a
> > > warning about the return value from write() being unchecked. Rather than
> > > having builds disable the warning, which may mask other cases we do care
> > > about, we can add a dummy use of the return value in the code to silence it
> > > in this instance.
> > > 
> > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > > ---
> > >  lib/librte_cmdline/cmdline.c | 3 ++-
> > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/lib/librte_cmdline/cmdline.c b/lib/librte_cmdline/cmdline.c
> > > index a9c47be..d749165 100644
> > > --- a/lib/librte_cmdline/cmdline.c
> > > +++ b/lib/librte_cmdline/cmdline.c
> > > @@ -205,7 +205,8 @@ cmdline_printf(const struct cmdline *cl, const char *fmt, ...)
> > >  	}
> > >  	if (ret >= BUFSIZ)
> > >  		ret = BUFSIZ - 1;
> > > -	write(cl->s_out, buf, ret);
> > > +	ret = write(cl->s_out, buf, ret);
> > > +	(void)ret;
> > 
> > That is an ugly way to fix the warning.
> > If write fails, the user has probably logged out.
> 
> Here, we are writing on stdout.
> I don't think it's worst than calling printf() without checking the
> return value.
> 
> By the way, it looks strange to this code is compiled, because
> -D _GNU_SOURCE is passed to the compiler, and the code is:
> 
> 	#ifdef _GNU_SOURCE
> 		...
> 	#else
> 		...
> 		write()
> 	#endif
> 
> It does not mean we shouldn't fix it, but maybe it hides something
> else. Bruce, I bet you are testing your new build framework?
> 
> Olivier

Yep, and meson has the -Wunused-result flag on by default, and on Ubuntu
write is marked as needing the result check. I don't like disabling
warnings, so I'd rather fix it this way, for the sake of on extra line
of ugliness. Open to better options though (other than not using Ubuntu,
which is fine with me, but some others seem to object to that :-) )

  reply	other threads:[~2017-09-08  9:01 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-07 13:09 Bruce Richardson
2017-09-07 13:49 ` Olivier MATZ
2017-10-05 16:36   ` Thomas Monjalon
2017-09-07 17:50 ` Stephen Hemminger
2017-09-07 19:46   ` Olivier MATZ
2017-09-08  9:01     ` Bruce Richardson [this message]
2017-09-15 10:45 ` Van Haaren, Harry

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170908090116.GD35580@bricha3-MOBL3.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=olivier.matz@6wind.com \
    --cc=stephen@networkplumber.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).