Mercurial > hg > svcore
diff transform/TransformFactory.cpp @ 1865:7b6e18380e8f startup-timing
Make it possible to check whether the transforms have been populated yet
author | Chris Cannam |
---|---|
date | Wed, 03 Jun 2020 13:57:50 +0100 |
parents | 6f626cfdba51 |
children | 652c5360e682 |
line wrap: on
line diff
--- a/transform/TransformFactory.cpp Wed Jun 03 13:57:37 2020 +0100 +++ b/transform/TransformFactory.cpp Wed Jun 03 13:57:50 2020 +0100 @@ -102,7 +102,9 @@ TransformFactory::UninstalledTransformsPopulateThread::run() { m_factory->m_populatingSlowly = true; - sleep(1); + while (!m_factory->havePopulated()) { + sleep(1); + } m_factory->populateUninstalledTransforms(); } @@ -324,6 +326,13 @@ return tr("Other"); } +bool +TransformFactory::havePopulated() +{ + MutexLocker locker(&m_transformsMutex, "TransformFactory::havePopulated"); + return m_transformsPopulated; +} + void TransformFactory::populateTransforms() { @@ -395,6 +404,12 @@ } m_transformsPopulated = true; + +#ifdef DEBUG_TRANSFORM_FACTORY + SVCERR << "populateTransforms exiting" << endl; +#endif + + emit transformsPopulated(); } void @@ -743,6 +758,8 @@ #ifdef DEBUG_TRANSFORM_FACTORY SVCERR << "populateUninstalledTransforms exiting" << endl; #endif + + emit uninstalledTransformsPopulated(); } Transform