On 03/31/2017 08:51 AM, Peter Maydell wrote: > In commit e330c118f2a5a the last usage of main_loop_wait() that cared > about the return value was changed to no longer use it. Drop the > now-useless return value and make the function return void. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > Coverity complains (CID 1372464) about main_loop() calling > main_loop_wait() and ignoring its return value. I suspect > this change will just displace that to within main_loop_wait() > itself since the underlying issue there is "the ppoll() that > gets called to poll fds can return an error code, but what > do we do if it does?". Suggestions on that point welcome.
At one point, there was a suggestion to introduce an ignore_value() macro that ignores values that the compiler/coverity would otherwise complain about, in contexts where we really are okay ignoring the value. If making main_loop_wait() return void shifts where Coverity blames, then ignore_value(ppoll()) seems like it might help. > > I guess this will make the compiler warn about ret being > set and never used if CONFIG_SLIRP is not defined, which > is irritating. I'm postponing messing about with fixing > that in favour of seeing whether anybody has a good answer > to the question above (which might make it moot). > --- > -int main_loop_wait(int nonblocking) > +void main_loop_wait(int nonblocking) > { > int ret; > uint32_t timeout = UINT32_MAX; > @@ -513,7 +513,7 @@ int main_loop_wait(int nonblocking) > qemu_start_warp_timer(); > qemu_clock_run_all_timers(); > > - return ret; > + return; > } We generally avoid lone return; at the end of a void function. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature