On 04/01/2013, at 6:27 PM, 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> > Authored: Sat Jan 5 10:25:13 2013 +0800 > Committer: binchen <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