Fix assertion failed: assert(m_in_use) MP-603
[metaproxy-moved-to-github.git] / src / filter_session_shared.cpp
index 35e96cd..dbfa491 100644 (file)
@@ -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
         }
     }