now i havn't changed HttpSessionManager::release_session() interface. This will return HSMresult_t like previous . But return HSMresult_t is unused.
thanks Chen Bin On 01/05/2013 11:28 AM, James Peach wrote: On 04/01/2013, at 6:27 PM, chen...@apache.org<mailto:chen...@apache.org> wrote: Updated Branches: refs/heads/master 4a614a967 -> 27c0f2248 TS-1601: HttpServerSession::release don't close ServerSession if ServerSessionPool locking contention Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/27c0f224 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/27c0f224 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/27c0f224 Branch: refs/heads/master Commit: 27c0f22487b246b327827c4f0b6c340cdaed6bea Parents: 4a614a9 Author: Chen Bin <kuo...@taobao.com><mailto:kuo...@taobao.com> Authored: Sat Jan 5 10:25:13 2013 +0800 Committer: binchen <binchen@t-kuotai.(none)><mailto:binchen@t-kuotai.(none)> Committed: Sat Jan 5 10:27:05 2013 +0800 ---------------------------------------------------------------------- CHANGES | 1 + proxy/http/HttpServerSession.cc | 15 +-------------- proxy/http/HttpSessionManager.cc | 12 +++++++++--- 3 files changed, 11 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/27c0f224/CHANGES ---------------------------------------------------------------------- diff --git a/CHANGES b/CHANGES index 3f6550e..3e969b6 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,7 @@ -*- coding: utf-8 -*- Changes with Apache Traffic Server 3.3.1 + *) [TS-1601] HttpServerSession::release don't close ServerSession if ServerSessionPool locking contention *) [TS-1643] Post requests with no Content-Length header sends default error response http://git-wip-us.apache.org/repos/asf/trafficserver/blob/27c0f224/proxy/http/HttpServerSession.cc ---------------------------------------------------------------------- diff --git a/proxy/http/HttpServerSession.cc b/proxy/http/HttpServerSession.cc index 7898c09..8c8fdd3 100644 --- a/proxy/http/HttpServerSession.cc +++ b/proxy/http/HttpServerSession.cc @@ -170,18 +170,5 @@ HttpServerSession::release() return; } - HSMresult_t r = httpSessionManager.release_session(this); - - - if (r == HSM_RETRY) { - // Session could not be put in the session manager - // due to lock contention - // FIX: should retry instead of closing - this->do_io_close(); - } else { - // The session was successfully put into the session - // manager and it will manage it - // (Note: should never get HSM_NOT_FOUND here) - ink_assert(r == HSM_DONE); - } + httpSessionManager.release_session(this); Since HttpSessionManager::release_session() now guarantees to release the session, should it now return void? J. ________________________________ This email (including any attachments) is confidential and may be legally privileged. If you received this email in error, please delete it immediately and do not copy it or use it for any purpose or disclose its contents to any other person. Thank you. 本电邮(包括任何附件)可能含有机密资料并受法律保护。如您不是正确的收件人,请您立即删除本邮件。请不要将本电邮进行复制并用作任何其他用途、或透露本邮件之内容。谢谢。