Repository: trafficserver Updated Branches: refs/heads/5.2.x 66504c160 -> 07a2f9067
[TS-3248]: Fix with Susan's help to resolve crash introduced in TS-3189 Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/d66bf29d Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/d66bf29d Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/d66bf29d Branch: refs/heads/5.2.x Commit: d66bf29db25798e68f5a13d187a65679d0639b19 Parents: 66504c1 Author: Sudheer Vinukonda <[email protected]> Authored: Sun Dec 21 03:04:56 2014 +0000 Committer: Leif Hedstrom <[email protected]> Committed: Tue Dec 23 08:03:51 2014 -0700 ---------------------------------------------------------------------- proxy/http/HttpSM.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d66bf29d/proxy/http/HttpSM.cc ---------------------------------------------------------------------- diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc index 5f07f8c..faf4451 100644 --- a/proxy/http/HttpSM.cc +++ b/proxy/http/HttpSM.cc @@ -575,7 +575,7 @@ HttpSM::attach_client_session(HttpClientSession * client_vc, IOBufferReader * bu // this hook maybe asynchronous, we need to disable IO on // client but set the continuation to be the state machine // so if we get an timeout events the sm handles them - ua_entry->read_vio = client_vc->do_io_read(this, 0, NULL); + ua_entry->read_vio = client_vc->do_io_read(this, 0, buffer_reader->mbuf); ///////////////////////// // set up timeouts // @@ -1989,6 +1989,11 @@ HttpSM::state_send_server_request_header(int event, void *data) handle_server_setup_error(event, data); break; + case VC_EVENT_READ_COMPLETE: + // new event expected due to TS-3189 + DebugSM("http_ss", "read complete due to 0 byte do_io_read"); + break; + default: ink_release_assert(0); break; @@ -5658,7 +5663,7 @@ HttpSM::attach_server_session(HttpServerSession * s) // first tunnel instead of the producer of the second tunnel. // The real read is setup in setup_server_read_response_header() // - server_entry->read_vio = server_session->do_io_read(this, 0, NULL); + server_entry->read_vio = server_session->do_io_read(this, 0, server_session->read_buffer); // Transfer control of the write side as well server_session->do_io_write(this, 0, NULL);
