X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Ffilter_session_shared.cpp;h=099b47fd21b0b9baa2aa1bef69e285a0aebeeb83;hb=4efeeb4bbff6c9b8eb4177fbe268ac240e8ca4e6;hp=eb8b23a0b33005f97b564376606cf3d7a67e2559;hpb=a395969830b02ecb29a24d455d60edb394af77e4;p=metaproxy-moved-to-github.git diff --git a/src/filter_session_shared.cpp b/src/filter_session_shared.cpp index eb8b23a..099b47f 100644 --- a/src/filter_session_shared.cpp +++ b/src/filter_session_shared.cpp @@ -371,6 +371,14 @@ void yf::SessionShared::BackendInstance::timestamp() yf::SessionShared::BackendInstance::~BackendInstance() { + if (m_close_package) + { + mp::odr odr; + m_close_package->response() = odr.create_close( + 0, Z_Close_lackOfActivity, 0); + m_close_package->session().close(); + m_close_package->move(); + } delete m_close_package; } @@ -1216,12 +1224,6 @@ bool yf::SessionShared::BackendClass::expire_instances() } else if (now < last_use || now - last_use > m_backend_expiry_ttl) { - mp::odr odr; - (*bit)->m_close_package->response() = odr.create_close( - 0, Z_Close_lackOfActivity, 0); - (*bit)->m_close_package->session().close(); - (*bit)->m_close_package->move(); - bit = m_backend_list.erase(bit); } else