From 9981c27ef1ebc3844a646392fc1c52416af699ca Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Sun, 20 Feb 2005 01:04:46 +0000 Subject: [PATCH] Handle the new MSG_SUCCESS message for both the generator and the sender. --- io.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/io.c b/io.c index f01353ff..7e02d348 100644 --- a/io.c +++ b/io.c @@ -256,6 +256,14 @@ static void read_msg_fd(void) read_loop(fd, buf, len); io_multiplex_write(MSG_DELETED, buf, len); break; + case MSG_SUCCESS: + if (len != 4 || !am_generator) { + rprintf(FERROR, "invalid message %d:%d\n", tag, len); + exit_cleanup(RERR_STREAMIO); + } + read_loop(fd, buf, len); + io_multiplex_write(MSG_SUCCESS, buf, len); + break; case MSG_INFO: case MSG_ERROR: case MSG_LOG: @@ -704,6 +712,16 @@ static int readfd_unbuffered(int fd, char *buf, size_t len) log_delete(line, S_IFREG); remaining = 0; break; + case MSG_SUCCESS: + if (remaining != 4) { + rprintf(FERROR, "invalid multi-message %d:%ld\n", + tag, (long)remaining); + exit_cleanup(RERR_STREAMIO); + } + read_loop(fd, line, remaining); + successful_send(IVAL(line, 0)); + remaining = 0; + break; case MSG_INFO: case MSG_ERROR: if (remaining >= sizeof line) { -- 2.34.1