X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=src%2Ffilter_session_shared.cpp;h=5fbec9c8e6cfd4a451e16159e76d9c527c09f445;hb=HEAD;hp=1ecc6f3435d1ef6e1997a78aebee9914f64b2596;hpb=93f32eb4fc7134af74d18ad7ef665f21083cbc83;p=metaproxy-moved-to-github.git diff --git a/src/filter_session_shared.cpp b/src/filter_session_shared.cpp index 1ecc6f3..5fbec9c 100644 --- a/src/filter_session_shared.cpp +++ b/src/filter_session_shared.cpp @@ -128,6 +128,8 @@ namespace metaproxy_1 { bool expire_instances(); yazpp_1::GDU m_init_request; yazpp_1::GDU m_init_response; + boost::mutex m_mutex_backend_class; + boost::condition m_cond_set_ready; int m_sequence_top; time_t m_backend_set_ttl; time_t m_backend_expiry_ttl; @@ -138,8 +140,6 @@ namespace metaproxy_1 { int m_no_succeeded; int m_no_init; public: - boost::mutex m_mutex_backend_class; - boost::condition m_cond_set_ready; BackendClass(const yazpp_1::GDU &init_request, int resultset_ttl, int resultset_max, @@ -479,6 +479,7 @@ yf::SessionShared::BackendInstancePtr yf::SessionShared::BackendClass::create_ba init_package.move(); } m_no_failed++; + m_cond_set_ready.notify_all(); return null; } @@ -879,7 +880,6 @@ restart: found_set = new_set; found_set->timestamp(); - found_backend->m_sets.push_back(found_set); Z_Records *z_records = 0; @@ -946,6 +946,7 @@ restart: package.response() = f_apdu; } bc->release_backend(found_backend); + found_set.reset(); return; // search error } } @@ -957,12 +958,7 @@ restart: found_backend.reset(); goto restart; } - -#if 0 - found_set = new_set; - found_set->timestamp(); found_backend->m_sets.push_back(found_set); -#endif } int yf::SessionShared::Frontend::result_set_ref(ODR o,