Commit e871768d authored by Tatsuhiro Tsujikawa's avatar Tatsuhiro Tsujikawa

Disable read for downstream by default to avoid timeout before request

parent c29dd0b8
...@@ -82,7 +82,7 @@ int DownstreamConnection::attach_downstream(Downstream *downstream) ...@@ -82,7 +82,7 @@ int DownstreamConnection::attach_downstream(Downstream *downstream)
downstream->set_downstream_connection(this); downstream->set_downstream_connection(this);
downstream_ = downstream; downstream_ = downstream;
bufferevent_setwatermark(bev_, EV_READ, 0, SHRPX_READ_WARTER_MARK); bufferevent_setwatermark(bev_, EV_READ, 0, SHRPX_READ_WARTER_MARK);
bufferevent_enable(bev_, EV_READ | EV_WRITE); bufferevent_disable(bev_, EV_READ);
bufferevent_setcb(bev_, bufferevent_setcb(bev_,
upstream->get_downstream_readcb(), upstream->get_downstream_readcb(),
upstream->get_downstream_writecb(), upstream->get_downstream_writecb(),
...@@ -134,7 +134,7 @@ void DownstreamConnection::detach_downstream(Downstream *downstream) ...@@ -134,7 +134,7 @@ void DownstreamConnection::detach_downstream(Downstream *downstream)
} }
downstream->set_downstream_connection(0); downstream->set_downstream_connection(0);
downstream_ = 0; downstream_ = 0;
bufferevent_enable(bev_, EV_READ | EV_WRITE); bufferevent_disable(bev_, EV_READ);
bufferevent_setcb(bev_, 0, 0, idle_eventcb, this); bufferevent_setcb(bev_, 0, 0, idle_eventcb, this);
client_handler_->pool_downstream_connection(this); client_handler_->pool_downstream_connection(this);
} }
......
...@@ -254,6 +254,7 @@ int HttpsUpstream::on_read() ...@@ -254,6 +254,7 @@ int HttpsUpstream::on_read()
delete downstream; delete downstream;
} else { } else {
pause_read(SHRPX_MSG_BLOCK); pause_read(SHRPX_MSG_BLOCK);
downstream->force_resume_read();
} }
} }
} else if(htperr == htparse_error_none) { } else if(htperr == htparse_error_none) {
......
...@@ -180,6 +180,7 @@ void on_ctrl_recv_callback ...@@ -180,6 +180,7 @@ void on_ctrl_recv_callback
<< downstream; << downstream;
} }
downstream->set_request_state(Downstream::MSG_COMPLETE); downstream->set_request_state(Downstream::MSG_COMPLETE);
downstream->force_resume_read();
} }
break; break;
} }
...@@ -220,6 +221,7 @@ void on_data_chunk_recv_callback(spdylay_session *session, ...@@ -220,6 +221,7 @@ void on_data_chunk_recv_callback(spdylay_session *session,
<< downstream; << downstream;
} }
downstream->set_request_state(Downstream::MSG_COMPLETE); downstream->set_request_state(Downstream::MSG_COMPLETE);
downstream->force_resume_read();
} }
} }
} }
......
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