X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Ffilter_session_shared.cpp;h=dbfa491dfa5b62391a74c5c3b275ce6c1281c9c3;hb=953e615164c4c47ee871ef7901e90d6fcffd8473;hp=35e96cda28b03be2b41f08987981b49986209396;hpb=9144669e9d4439ac2fa0262ef114c0c4d927ae1f;p=metaproxy-moved-to-github.git diff --git a/src/filter_session_shared.cpp b/src/filter_session_shared.cpp index 35e96cd..dbfa491 100644 --- a/src/filter_session_shared.cpp +++ b/src/filter_session_shared.cpp @@ -561,7 +561,9 @@ void yf::SessionShared::Rep::init(mp::Package &package, const Z_GDU *gdu, { // first for first one to finish while (!bc->m_no_failed && !bc->m_no_succeeded && bc->m_no_init) - bc->m_cond_set_ready.wait(bc->m_mutex_backend_class); + { + bc->m_cond_set_ready.wait(lock); + } } } if (create_first_one) @@ -801,8 +803,7 @@ restart: { if ((*it)->m_in_use) { - bc->m_cond_set_ready.wait( - bc->m_mutex_backend_class); + bc->m_cond_set_ready.wait(lock); restart = true; break; } @@ -945,6 +946,7 @@ restart: package.response() = f_apdu; } bc->release_backend(found_backend); + found_set.reset(); return; // search error } }