Repository: trafficserver Updated Branches: refs/heads/master 32d67d7c5 -> 9115cb6d4
[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/9115cb6d Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/9115cb6d Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/9115cb6d Branch: refs/heads/master Commit: 9115cb6d4716ada0c66d5b6970d2674592cb2355 Parents: 32d67d7 Author: Sudheer Vinukonda <[email protected]> Authored: Sun Dec 21 03:04:56 2014 +0000 Committer: Sudheer Vinukonda <[email protected]> Committed: Sun Dec 21 03:04:56 2014 +0000 ---------------------------------------------------------------------- proxy/http/HttpSM.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/9115cb6d/proxy/http/HttpSM.cc ---------------------------------------------------------------------- diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc index e2e6080..2d3434d 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; @@ -5654,7 +5659,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);
