close(error_pipe[0]);
/* We can't let two processes write to the socket at one time. */
- io_end_multiplex_out(False);
+ io_end_multiplex_out(MPLX_SWITCHING);
if (f_in != f_out)
close(f_out);
sock_f_out = -1;
am_generator = 1;
- io_end_multiplex_in(False);
+ io_end_multiplex_in(MPLX_SWITCHING);
if (write_batch && !am_server)
stop_write_batch();
keep_dirlinks = 0; /* Must be disabled on the sender. */
if (need_messages_from_generator)
io_start_multiplex_in(f_in);
+ else
+ io_start_buffering_in(f_in);
recv_filter_list(f_in);
do_server_sender(f_in, f_out, argc, argv);
} else
io_start_buffering_out(f_out);
if (protocol_version >= 31 || (!filesfrom_host && protocol_version >= 23))
io_start_multiplex_in(f_in);
+ else
+ io_start_buffering_in(f_in);
send_filter_list(f_out);
if (filesfrom_host)
filesfrom_fd = f_in;
io_start_multiplex_in(f_in);
if (need_messages_from_generator)
io_start_multiplex_out(f_out);
+ else
+ io_start_buffering_out(f_out);
}
send_filter_list(read_batch ? -1 : f_out);