the last pre-release had a bug that didn't setup the multiplexing
correctly. This means that pre-release will get "unexpected tag -7"
whenm talking to the fixed code.
SIVAL(buffer, 0, ((MPLEX_BASE + (int)code)<<24) + len);
SIVAL(buffer, 0, ((MPLEX_BASE + (int)code)<<24) + len);
- if (n > (sizeof(buf)-4)) {
- n = sizeof(buf)-4;
+ if (n > (sizeof(buffer)-4)) {
+ n = sizeof(buffer)-4;
}
memcpy(&buffer[4], buf, n);
}
memcpy(&buffer[4], buf, n);
- writefd_unbuffered(fd, buf, len);
+ if (len) {
+ writefd_unbuffered(fd, buf, len);
+ }
extern int quiet;
/* recursion can happen with certain fatal conditions */
extern int quiet;
/* recursion can happen with certain fatal conditions */
- if (quiet != 0 && code == FINFO) return;
+ if (quiet && code == FINFO) return;
if (len < 0) exit_cleanup(RERR_MESSAGEIO);
if (len < 0) exit_cleanup(RERR_MESSAGEIO);
- if (io_error_write(log_error_fd, code, buf, strlen(buf))) return;
+ if (io_error_write(log_error_fd, code, buf, strlen(buf))) {
+ return;
+ }
+
+ if (io_multiplex_write(code, buf, strlen(buf))) {
+ return;
+ }
if (am_daemon) {
static int depth;
if (am_daemon) {
static int depth;
- if (!io_multiplex_write(code, buf, strlen(buf))) {
- logit(priority, buf);
- }
extern int am_sender;
extern int remote_version;
extern int am_sender;
extern int remote_version;
+ setup_protocol(f_out, f_in);
+
if (remote_version >= 23)
io_start_multiplex_out(f_out);
if (remote_version >= 23)
io_start_multiplex_out(f_out);
- setup_protocol(f_out, f_in);
-
if (am_sender) {
recv_exclude_list(f_in);
if (cvs_exclude)
if (am_sender) {
recv_exclude_list(f_in);
if (cvs_exclude)
extern int list_only;
extern int remote_version;
extern int list_only;
extern int remote_version;
+ setup_protocol(f_out,f_in);
+
if (remote_version >= 23)
io_start_multiplex_in(f_in);
if (remote_version >= 23)
io_start_multiplex_in(f_in);
-
- setup_protocol(f_out,f_in);
if (am_sender) {
extern int cvs_exclude;
if (am_sender) {
extern int cvs_exclude;