X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=daemon%2Fproto.c;h=d935ded587a12daf19c48d032f0ecd76c6e7ca97;hb=7eda9e6fb2b1f6504167ab650886f5a336fc6919;hp=9b33902f7bde6aa39a662c03265e96d716faf03e;hpb=fabf3f661579710d543db46718ec627a53bad61f;p=libguestfs.git diff --git a/daemon/proto.c b/daemon/proto.c index 9b33902..d935ded 100644 --- a/daemon/proto.c +++ b/daemon/proto.c @@ -462,7 +462,7 @@ check_for_library_cancellation (void) return 1; } -void +int send_file_end (int cancel) { guestfs_chunk chunk; @@ -470,7 +470,7 @@ send_file_end (int cancel) chunk.cancel = cancel; chunk.data.data_len = 0; chunk.data.data_val = NULL; - send_chunk (&chunk); + return send_chunk (&chunk); } static int @@ -495,8 +495,12 @@ send_chunk (const guestfs_chunk *chunk) xdr_uint32_t (&xdr, &len); xdr_destroy (&xdr); - (void) xwrite (sock, lenbuf, 4); - (void) xwrite (sock, buf, len); + int err = (xwrite (sock, lenbuf, 4) == 0 + && xwrite (sock, buf, len) == 0 ? 0 : -1); + if (err) { + fprintf (stderr, "send_chunk: write failed\n"); + exit (1); + } - return 0; + return err; }