summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalf Habacker <ralf.habacker@freenet.de>2015-11-02 21:56:32 +0100
committerRalf Habacker <ralf.habacker@freenet.de>2015-11-03 14:23:22 +0100
commit04b8a7a772cfa9ae8ea6ce452d1fb7f23e25fd3f (patch)
tree7064886e2313d22ba7f996649311ad3b6f31aaf5
parent34d0c73f998281467ead1b3e185f5b53df6d221f (diff)
downloaddbus-04b8a7a772cfa9ae8ea6ce452d1fb7f23e25fd3f.tar.gz
Fix warning: variable 'ret' set but not used [-Wunused-but-set-variable].
Only set valid child status in case exit code has been gotten from child process, otherwise signal failure through thread return value. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92721 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
-rw-r--r--dbus/dbus-spawn-win.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/dbus/dbus-spawn-win.c b/dbus/dbus-spawn-win.c
index 7f68f14e..faf1ab4d 100644
--- a/dbus/dbus-spawn-win.c
+++ b/dbus/dbus-spawn-win.c
@@ -616,13 +616,16 @@ babysitter (void *parameter)
DWORD status;
PING();
+ // wait until process finished
WaitForSingleObject (sitter->child_handle, INFINITE);
PING();
ret = GetExitCodeProcess (sitter->child_handle, &status);
-
- sitter->child_status = status;
- sitter->have_child_status = TRUE;
+ if (ret)
+ {
+ sitter->child_status = status;
+ sitter->have_child_status = TRUE;
+ }
CloseHandle (sitter->child_handle);
sitter->child_handle = NULL;
@@ -637,7 +640,7 @@ babysitter (void *parameter)
_dbus_babysitter_unref (sitter);
- return 0;
+ return ret ? 0 : 1;
}
dbus_bool_t