On 02/15/2013 07:47 PM, Paolo Bonzini wrote:
> This is what exec_close does. Move this to the underlying QEMUFile.
>
> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
> ---
> migration-exec.c | 4 ----
> savevm.c | 3 +++
> 2 files changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/migration-exec.c b/migration-exec.c
> index 5dc7313..a2b5f8d 100644
> --- a/migration-exec.c
> +++ b/migration-exec.c
> @@ -50,10 +50,6 @@ 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)) {
> - /* close succeeded, but non-zero exit code: */
> - ret = -EIO; /* fake errno value */
> - }
> return ret;
> }
>
> diff --git a/savevm.c b/savevm.c
> index 261d17a..f593acd 100644
> --- a/savevm.c
> +++ b/savevm.c
> @@ -247,6 +247,9 @@ static int stdio_pclose(void *opaque)
> ret = pclose(s->stdio_file);
> if (ret == -1) {
> ret = -errno;
> + } else if (!WIFEXITED(ret) || WEXITSTATUS(ret) != 0) {
> + /* close succeeded, but non-zero exit code: */
> + ret = -EIO; /* fake errno value */
> }
> g_free(s);
> return ret;
>
Reviewed-by: Orit Wasserman <owass...@redhat.com>