[TS-2052] ET_SSL thread spinning
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/94e9830c Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/94e9830c Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/94e9830c Branch: refs/heads/3.3.x Commit: 94e9830c21f046aafe0247fb9c95198fc0902144 Parents: b91279d Author: Brian Geffon <[email protected]> Authored: Fri Aug 2 17:43:41 2013 -0700 Committer: Brian Geffon <[email protected]> Committed: Fri Aug 2 17:43:41 2013 -0700 ---------------------------------------------------------------------- CHANGES | 4 +++- proxy/http/HttpSM.cc | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/94e9830c/CHANGES ---------------------------------------------------------------------- diff --git a/CHANGES b/CHANGES index 3cc9cd7..c8fde03 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,8 @@ -*- coding: utf-8 -*- Changes with Apache Traffic Server 3.3.5 - + + *) [TS-2052] ET_SSL thread spinning + Author: Can Selcik <cselcik at linkedin.com> *) [TS-2090 Make proxy.config.allocator.enable_reclaim default based on build instructions. http://git-wip-us.apache.org/repos/asf/trafficserver/blob/94e9830c/proxy/http/HttpSM.cc ---------------------------------------------------------------------- diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc index 5b879bc..7bba241 100644 --- a/proxy/http/HttpSM.cc +++ b/proxy/http/HttpSM.cc @@ -741,7 +741,8 @@ HttpSM::state_read_client_request_header(int event, void *data) } // Check to see if we are done parsing the header - if (state != PARSE_CONT || ua_entry->eos) { + if (state != PARSE_CONT || ua_entry->eos || + (state == PARSE_CONT && event == VC_EVENT_READ_COMPLETE)) { if (ua_raw_buffer_reader != NULL) { ua_raw_buffer_reader->dealloc(); ua_raw_buffer_reader = NULL; @@ -771,6 +772,9 @@ HttpSM::state_read_client_request_header(int event, void *data) call_transact_and_set_next_state(HttpTransact::BadRequest); break; + } else if (event == VC_EVENT_READ_COMPLETE) { + DebugSM("http_parse", "[%" PRId64 "] VC_EVENT_READ_COMPLETE and PARSE CONT state", sm_id); + break; } else { if (is_transparent_passthrough_allowed() && ua_raw_buffer_reader != NULL &&
