diff --git a/src/libtomahawk/database/database.cpp b/src/libtomahawk/database/database.cpp index 8b8686899..c3b00ddbd 100644 --- a/src/libtomahawk/database/database.cpp +++ b/src/libtomahawk/database/database.cpp @@ -70,9 +70,8 @@ Database::loadIndex() void Database::enqueue( QSharedPointer lc ) { - if( lc->doesMutates() ) + if ( lc->doesMutates() ) { - //qDebug() << Q_FUNC_INFO << "RW" << lc->commandname(); qDebug() << "Enqueueing command to rw thread:" << lc->commandname(); m_workerRW->enqueue( lc ); } @@ -80,21 +79,20 @@ Database::enqueue( QSharedPointer lc ) { // find existing amount of worker threads for commandname // create new thread if < WORKER_THREADS - if ( m_workers.count( lc->commandname() ) < m_maxConcurrentThreads ) + if ( m_workers.count() < m_maxConcurrentThreads ) { DatabaseWorker* worker = new DatabaseWorker( m_impl, this, false ); worker->start(); - m_workers.insertMulti( lc->commandname(), worker ); + m_workers << worker; } // find thread for commandname with lowest amount of outstanding jobs and enqueue job int busyThreads = 0; DatabaseWorker* happyThread = 0; - QList< DatabaseWorker* > workers = m_workers.values( lc->commandname() ); - for ( int i = 0; i < workers.count(); i++ ) + for ( int i = 0; i < m_workers.count(); i++ ) { - DatabaseWorker* worker = workers.at( i ); + DatabaseWorker* worker = m_workers.at( i ); if ( !worker->busy() ) { diff --git a/src/libtomahawk/database/database.h b/src/libtomahawk/database/database.h index 678cca01b..239e59def 100644 --- a/src/libtomahawk/database/database.h +++ b/src/libtomahawk/database/database.h @@ -72,7 +72,7 @@ private: bool m_ready; DatabaseImpl* m_impl; DatabaseWorker* m_workerRW; - QHash< QString, DatabaseWorker* > m_workers; + QList m_workers; bool m_indexReady; int m_maxConcurrentThreads; diff --git a/src/libtomahawk/database/databaseworker.cpp b/src/libtomahawk/database/databaseworker.cpp index 1165464a7..eed01a320 100644 --- a/src/libtomahawk/database/databaseworker.cpp +++ b/src/libtomahawk/database/databaseworker.cpp @@ -46,10 +46,10 @@ DatabaseWorker::~DatabaseWorker() qDebug() << Q_FUNC_INFO << m_outstanding; if ( m_commands.count() ) - qDebug() << m_commands; + qDebug() << "Outstanding db commands to finish:" << m_commands; quit(); - wait( 60000 ); + wait(); }