X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=daemon%2Fupload.c;h=9a6c873129f4dd4ec8bacdb9e9200f432b5bbe52;hp=d93a5ade9b996a2ab05bb7bd83c0a797fb0a6ddc;hb=dc706a639eec16084c0618baf7bfde00c6565f63;hpb=5922d7084d6b43f0a1a15b664c7082dfeaf584d0 diff --git a/daemon/upload.c b/daemon/upload.c index d93a5ad..9a6c873 100644 --- a/daemon/upload.c +++ b/daemon/upload.c @@ -47,18 +47,18 @@ do_upload (const char *filename) if (!is_dev) CHROOT_OUT; if (fd == -1) { err = errno; - cancel_receive (); + r = cancel_receive (); errno = err; - reply_with_perror ("%s", filename); + if (r != -2) reply_with_perror ("%s", filename); return -1; } r = receive_file (write_cb, &fd); if (r == -1) { /* write error */ err = errno; - cancel_receive (); + r = cancel_receive (); errno = err; - reply_with_error ("write error: %s", filename); + if (r != -2) reply_with_error ("write error: %s", filename); close (fd); return -1; } @@ -71,9 +71,10 @@ do_upload (const char *filename) if (close (fd) == -1) { err = errno; if (r == -1) /* if r == 0, file transfer ended already */ - cancel_receive (); + r = cancel_receive (); errno = err; - reply_with_perror ("close: %s", filename); + if (r != -2) + reply_with_perror ("close: %s", filename); return -1; }