Commit 7b37e0cb authored by Sergey Lyubka's avatar Sergey Lyubka

Added simplistic flow control in transfer_file_data()

parent c7925353
...@@ -4494,8 +4494,15 @@ static void close_local_endpoint(struct connection *conn) { ...@@ -4494,8 +4494,15 @@ static void close_local_endpoint(struct connection *conn) {
static void transfer_file_data(struct connection *conn) { static void transfer_file_data(struct connection *conn) {
char buf[IOBUF_SIZE]; char buf[IOBUF_SIZE];
int n = read(conn->endpoint.fd, buf, conn->cl < (int64_t) sizeof(buf) ? int n;
(int) conn->cl : (int) sizeof(buf));
// If output buffer is too big, don't send anything. Wait until
// mongoose drains already buffered data to the client.
if (conn->ns_conn->send_iobuf.len > sizeof(buf) * 2) return;
// Do not send anyt
n = read(conn->endpoint.fd, buf, conn->cl < (int64_t) sizeof(buf) ?
(int) conn->cl : (int) sizeof(buf));
if (n <= 0) { if (n <= 0) {
close_local_endpoint(conn); close_local_endpoint(conn);
......
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