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);

Reply via email to