version 1.25, 2020/11/24 16:54:44 |
version 1.26, 2021/05/06 07:29:59 |
|
|
*/ |
*/ |
|
|
if (sess->mplex_reads && |
if (sess->mplex_reads && |
(POLLIN & pfd[PFD_SENDER_IN].revents)) { |
(pfd[PFD_SENDER_IN].revents & POLLIN)) { |
if (!io_read_flush(sess, fdin)) { |
if (!io_read_flush(sess, fdin)) { |
ERRX1("io_read_flush"); |
ERRX1("io_read_flush"); |
goto out; |
goto out; |
|
|
* is read to mmap. |
* is read to mmap. |
*/ |
*/ |
|
|
if ((POLLIN & pfd[PFD_UPLOADER_IN].revents) || |
if ((pfd[PFD_UPLOADER_IN].revents & POLLIN) || |
(POLLOUT & pfd[PFD_SENDER_OUT].revents)) { |
(pfd[PFD_SENDER_OUT].revents & POLLOUT)) { |
c = rsync_uploader(ul, |
c = rsync_uploader(ul, |
&pfd[PFD_UPLOADER_IN].fd, |
&pfd[PFD_UPLOADER_IN].fd, |
sess, &pfd[PFD_SENDER_OUT].fd); |
sess, &pfd[PFD_SENDER_OUT].fd); |
|
|
* messages, which will otherwise clog up the pipes. |
* messages, which will otherwise clog up the pipes. |
*/ |
*/ |
|
|
if ((POLLIN & pfd[PFD_SENDER_IN].revents) || |
if ((pfd[PFD_SENDER_IN].revents & POLLIN) || |
(POLLIN & pfd[PFD_DOWNLOADER_IN].revents)) { |
(pfd[PFD_DOWNLOADER_IN].revents & POLLIN)) { |
c = rsync_downloader(dl, sess, |
c = rsync_downloader(dl, sess, |
&pfd[PFD_DOWNLOADER_IN].fd); |
&pfd[PFD_DOWNLOADER_IN].fd); |
if (c < 0) { |
if (c < 0) { |
|
|
if (!io_write_int(sess, fdout, -1)) { |
if (!io_write_int(sess, fdout, -1)) { |
ERRX1("io_write_int"); |
ERRX1("io_write_int"); |
goto out; |
goto out; |
} else if (!io_read_int(sess, fdin, &ioerror)) { |
} |
|
if (!io_read_int(sess, fdin, &ioerror)) { |
ERRX1("io_read_int"); |
ERRX1("io_read_int"); |
goto out; |
goto out; |
} else if (ioerror != -1) { |
} |
|
if (ioerror != -1) { |
ERRX("expected phase ack"); |
ERRX("expected phase ack"); |
goto out; |
goto out; |
} |
} |
|
|
if (!sess_stats_recv(sess, fdin)) { |
if (!sess_stats_recv(sess, fdin)) { |
ERRX1("sess_stats_recv"); |
ERRX1("sess_stats_recv"); |
goto out; |
goto out; |
} else if (!io_write_int(sess, fdout, -1)) { |
} |
|
if (!io_write_int(sess, fdout, -1)) { |
ERRX1("io_write_int"); |
ERRX1("io_write_int"); |
goto out; |
goto out; |
} |
} |