Commit cc7b86bf authored by Wayne Davison's avatar Wayne Davison

The last MSG_DONE from the receiver to the generator is now followed

by the stats.total_read value so that the generator can set its value
to that of the receiver.  This makes log_exit() log the right value
when we're on the server side.
parent 8c18ebe8
...@@ -288,13 +288,17 @@ static void read_msg_fd(void) ...@@ -288,13 +288,17 @@ static void read_msg_fd(void)
switch (tag) { switch (tag) {
case MSG_DONE: case MSG_DONE:
if (len != 0 || !am_generator) { if (len < 0 || len > 1 || !am_generator) {
invalid_msg: invalid_msg:
rprintf(FERROR, "invalid message %d:%d [%s%s]\n", rprintf(FERROR, "invalid message %d:%d [%s%s]\n",
tag, len, who_am_i(), tag, len, who_am_i(),
incremental ? "/incremental" : ""); incremental ? "/incremental" : "");
exit_cleanup(RERR_STREAMIO); exit_cleanup(RERR_STREAMIO);
} }
if (len) {
readfd(fd, buf, len);
stats.total_read = read_longint(fd);
}
done_cnt++; done_cnt++;
break; break;
case MSG_REDO: case MSG_REDO:
......
...@@ -727,7 +727,8 @@ static int do_recv(int f_in, int f_out, char *local_name) ...@@ -727,7 +727,8 @@ static int do_recv(int f_in, int f_out, char *local_name)
io_flush(FULL_FLUSH); io_flush(FULL_FLUSH);
handle_stats(f_in); handle_stats(f_in);
send_msg(MSG_DONE, "", 0); send_msg(MSG_DONE, "", 1);
write_longint(error_pipe[1], stats.total_read);
io_flush(FULL_FLUSH); io_flush(FULL_FLUSH);
/* Handle any keep-alive packets from the post-processing work /* Handle any keep-alive packets from the post-processing work
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment