22 QMutexLocker l(&m_owner->m_mutex);
23 m_owner->m_available.append(m_t);
25 _T_* ressource()
const {
return m_t; }
30 using Handle = QExplicitlySharedDataPointer<Handle_>;
34 QMutexLocker l(&m_mutex);
35 KNOWCORE_ASSERT(m_available.size() == m_resources.size());
38 qDeleteAll(m_resources);
43 Handle h(
new Handle_);
45 QMutexLocker l(&m_mutex);
46 if(m_available.isEmpty())
49 m_resources.append(h->m_t);
51 h->m_t = m_available.takeFirst();
56 bool m_free_resources;