aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduardo Habkost <ehabkost@redhat.com>2011-11-10 10:41:46 -0200
committerAnthony Liguori <aliguori@us.ibm.com>2011-12-12 11:47:20 -0600
commite375fe3472f6d64971d3bd8e10a3f159e72435a1 (patch)
tree15d66e9573655f1c59cf29f627c631550af8bb06
parent0e286705192205cdb00d31d6757ca3dc28fb896a (diff)
exec_close(): return -errno on errors (v2)
All qemu_fclose() callers were already changed to accept any negative value as error, so we now can change it to return -errno. When the process exits with a non-zero exit code, we return -EIO to as a fake errno value. Changes v1 -> v2: - Don't use "//" comments, to make checkpatch.pl happy Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r--migration-exec.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/migration-exec.c b/migration-exec.c
index 626b648634..e14552ec01 100644
--- a/migration-exec.c
+++ b/migration-exec.c
@@ -50,12 +50,9 @@ static int exec_close(MigrationState *s)
ret = qemu_fclose(s->opaque);
s->opaque = NULL;
s->fd = -1;
- if (ret >= 0 &&
- WIFEXITED(ret)
- && WEXITSTATUS(ret) == 0) {
- ret = 0;
- } else {
- ret = -1;
+ if (ret >= 0 && !(WIFEXITED(ret) && WEXITSTATUS(ret) == 0)) {
+ /* close succeeded, but non-zero exit code: */
+ ret = -EIO; /* fake errno value */
}
}
return ret;