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)
switch (tag) {
case MSG_DONE:
if (len != 0 || !am_generator) {
if (len < 0 || len > 1 || !am_generator) {
invalid_msg:
rprintf(FERROR, "invalid message %d:%d [%s%s]\n",
tag, len, who_am_i(),
incremental ? "/incremental" : "");
exit_cleanup(RERR_STREAMIO);
}
if (len) {
readfd(fd, buf, len);
stats.total_read = read_longint(fd);
}
done_cnt++;
break;
case MSG_REDO:
......
......@@ -727,7 +727,8 @@ static int do_recv(int f_in, int f_out, char *local_name)
io_flush(FULL_FLUSH);
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);
/* 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