Message ID | 20230922205019.2755352-2-eblake@redhat.com |
---|---|
State | New |
Headers | show |
Series | qemu-nbd: changes towards enabling -Wshadow=local | expand |
On Fri, Sep 22, 2023 at 03:50:20PM -0500, Eric Blake wrote: > Address all compiler complaints from -Wshadow in qemu-nbd. Several > instances of 'int ret' became shadows when commit 4fbec260 added 'ret' > at a higher scope in main. More interesting was the 'void *ret' > capturing the result of a pthread; where we were conceptually doing > '(void*)(intptr_t)EXIT_FAILURE != NULL' which just feels wrong (even > though it happens to compile correctly), so it was worth a better > cleanup. > > Signed-off-by: Eric Blake <eblake@redhat.com> > --- > > I'm happy to let Markus collect this with the growing pile on > shadow-next, instead of going through my NBD tree. > > qemu-nbd.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> With regards, Daniel
Eric Blake <eblake@redhat.com> writes: > Address all compiler complaints from -Wshadow in qemu-nbd. Several > instances of 'int ret' became shadows when commit 4fbec260 added 'ret' > at a higher scope in main. More interesting was the 'void *ret' > capturing the result of a pthread; where we were conceptually doing > '(void*)(intptr_t)EXIT_FAILURE != NULL' which just feels wrong (even > though it happens to compile correctly), so it was worth a better > cleanup. > > Signed-off-by: Eric Blake <eblake@redhat.com> > --- > > I'm happy to let Markus collect this with the growing pile on > shadow-next, instead of going through my NBD tree. Queued, thanks!
diff --git a/qemu-nbd.c b/qemu-nbd.c index 30eeb6f3c75..9bc410c6c56 100644 --- a/qemu-nbd.c +++ b/qemu-nbd.c @@ -937,7 +937,6 @@ int main(int argc, char **argv) g_autoptr(GError) err = NULL; int stderr_fd[2]; pid_t pid; - int ret; if (!g_unix_open_pipe(stderr_fd, FD_CLOEXEC, &err)) { error_report("Error setting up communication pipe: %s", @@ -1170,7 +1169,6 @@ int main(int argc, char **argv) if (opts.device) { #if HAVE_NBD_DEVICE - int ret; ret = pthread_create(&client_thread, NULL, nbd_client_thread, &opts); if (ret != 0) { error_report("Failed to create client thread: %s", strerror(ret)); @@ -1217,9 +1215,10 @@ int main(int argc, char **argv) qemu_opts_del(sn_opts); if (opts.device) { - void *ret; - pthread_join(client_thread, &ret); - exit(ret != NULL); + void *result; + pthread_join(client_thread, &result); + ret = (intptr_t)result; + exit(ret); } else { exit(EXIT_SUCCESS); }
Address all compiler complaints from -Wshadow in qemu-nbd. Several instances of 'int ret' became shadows when commit 4fbec260 added 'ret' at a higher scope in main. More interesting was the 'void *ret' capturing the result of a pthread; where we were conceptually doing '(void*)(intptr_t)EXIT_FAILURE != NULL' which just feels wrong (even though it happens to compile correctly), so it was worth a better cleanup. Signed-off-by: Eric Blake <eblake@redhat.com> --- I'm happy to let Markus collect this with the growing pile on shadow-next, instead of going through my NBD tree. qemu-nbd.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)