mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-04 13:17:34 +02:00
Don't send config message to resolvers more than once
This commit is contained in:
@@ -51,7 +51,7 @@ Pipeline::Pipeline( QObject* parent )
|
|||||||
s_instance = this;
|
s_instance = this;
|
||||||
|
|
||||||
m_maxConcurrentQueries = qBound( DEFAULT_CONCURRENT_QUERIES, QThread::idealThreadCount(), MAX_CONCURRENT_QUERIES );
|
m_maxConcurrentQueries = qBound( DEFAULT_CONCURRENT_QUERIES, QThread::idealThreadCount(), MAX_CONCURRENT_QUERIES );
|
||||||
qDebug() << Q_FUNC_INFO << "Using" << m_maxConcurrentQueries << "threads";
|
tDebug() << Q_FUNC_INFO << "Using" << m_maxConcurrentQueries << "threads";
|
||||||
|
|
||||||
m_temporaryQueryTimer.setInterval( CLEANUP_TIMEOUT );
|
m_temporaryQueryTimer.setInterval( CLEANUP_TIMEOUT );
|
||||||
connect( &m_temporaryQueryTimer, SIGNAL( timeout() ), SLOT( onTemporaryQueryTimer() ) );
|
connect( &m_temporaryQueryTimer, SIGNAL( timeout() ), SLOT( onTemporaryQueryTimer() ) );
|
||||||
@@ -79,7 +79,7 @@ Pipeline::databaseReady()
|
|||||||
void
|
void
|
||||||
Pipeline::start()
|
Pipeline::start()
|
||||||
{
|
{
|
||||||
qDebug() << Q_FUNC_INFO << "Shunting this many pending queries:" << m_queries_pending.size();
|
tDebug() << Q_FUNC_INFO << "Shunting this many pending queries:" << m_queries_pending.size();
|
||||||
m_running = true;
|
m_running = true;
|
||||||
|
|
||||||
shuntNext();
|
shuntNext();
|
||||||
@@ -108,7 +108,7 @@ Pipeline::addResolver( Resolver* r )
|
|||||||
{
|
{
|
||||||
QMutexLocker lock( &m_mut );
|
QMutexLocker lock( &m_mut );
|
||||||
|
|
||||||
qDebug() << "Adding resolver" << r->name();
|
tDebug() << "Adding resolver" << r->name();
|
||||||
m_resolvers.append( r );
|
m_resolvers.append( r );
|
||||||
emit resolverAdded( r );
|
emit resolverAdded( r );
|
||||||
}
|
}
|
||||||
@@ -448,7 +448,7 @@ void
|
|||||||
Pipeline::onTemporaryQueryTimer()
|
Pipeline::onTemporaryQueryTimer()
|
||||||
{
|
{
|
||||||
QMutexLocker lock( &m_mut );
|
QMutexLocker lock( &m_mut );
|
||||||
qDebug() << Q_FUNC_INFO;
|
tDebug() << Q_FUNC_INFO;
|
||||||
m_temporaryQueryTimer.stop();
|
m_temporaryQueryTimer.stop();
|
||||||
|
|
||||||
for ( int i = m_queries_temporary.count() - 1; i >= 0; i-- )
|
for ( int i = m_queries_temporary.count() - 1; i >= 0; i-- )
|
||||||
|
@@ -37,6 +37,7 @@ ScriptResolver::ScriptResolver( const QString& exe )
|
|||||||
, m_msgsize( 0 )
|
, m_msgsize( 0 )
|
||||||
, m_ready( false )
|
, m_ready( false )
|
||||||
, m_stopped( true )
|
, m_stopped( true )
|
||||||
|
, m_configSent( false )
|
||||||
, m_error( Tomahawk::ExternalResolver::NoError )
|
, m_error( Tomahawk::ExternalResolver::NoError )
|
||||||
{
|
{
|
||||||
tLog() << Q_FUNC_INFO << "Created script resolver:" << exe;
|
tLog() << Q_FUNC_INFO << "Created script resolver:" << exe;
|
||||||
@@ -79,8 +80,9 @@ ScriptResolver::start()
|
|||||||
m_stopped = false;
|
m_stopped = false;
|
||||||
if ( m_ready )
|
if ( m_ready )
|
||||||
Tomahawk::Pipeline::instance()->addResolver( this );
|
Tomahawk::Pipeline::instance()->addResolver( this );
|
||||||
else
|
else if ( !m_configSent )
|
||||||
sendConfig();
|
sendConfig();
|
||||||
|
// else, we've sent our config msg so are waiting for the resolver to react
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -92,6 +94,8 @@ ScriptResolver::sendConfig()
|
|||||||
QVariantMap m;
|
QVariantMap m;
|
||||||
m.insert( "_msgtype", "config" );
|
m.insert( "_msgtype", "config" );
|
||||||
|
|
||||||
|
m_configSent = true;
|
||||||
|
|
||||||
TomahawkUtils::NetworkProxyFactory* factory = dynamic_cast<TomahawkUtils::NetworkProxyFactory*>( TomahawkUtils::nam()->proxyFactory() );
|
TomahawkUtils::NetworkProxyFactory* factory = dynamic_cast<TomahawkUtils::NetworkProxyFactory*>( TomahawkUtils::nam()->proxyFactory() );
|
||||||
QNetworkProxy proxy = factory->proxy();
|
QNetworkProxy proxy = factory->proxy();
|
||||||
QString proxyType = ( proxy.type() == QNetworkProxy::Socks5Proxy ? "socks5" : "none" );
|
QString proxyType = ( proxy.type() == QNetworkProxy::Socks5Proxy ? "socks5" : "none" );
|
||||||
@@ -323,6 +327,7 @@ ScriptResolver::doSetup( const QVariantMap& m )
|
|||||||
qDebug() << "SCRIPT" << filePath() << "READY," << "name" << m_name << "weight" << m_weight << "timeout" << m_timeout;
|
qDebug() << "SCRIPT" << filePath() << "READY," << "name" << m_name << "weight" << m_weight << "timeout" << m_timeout;
|
||||||
|
|
||||||
m_ready = true;
|
m_ready = true;
|
||||||
|
m_configSent = false;
|
||||||
|
|
||||||
if ( !m_stopped )
|
if ( !m_stopped )
|
||||||
Tomahawk::Pipeline::instance()->addResolver( this );
|
Tomahawk::Pipeline::instance()->addResolver( this );
|
||||||
|
@@ -82,7 +82,7 @@ private:
|
|||||||
quint32 m_msgsize;
|
quint32 m_msgsize;
|
||||||
QByteArray m_msg;
|
QByteArray m_msg;
|
||||||
|
|
||||||
bool m_ready, m_stopped;
|
bool m_ready, m_stopped, m_configSent;
|
||||||
ExternalResolver::ErrorState m_error;
|
ExternalResolver::ErrorState m_error;
|
||||||
|
|
||||||
QJson::Parser m_parser;
|
QJson::Parser m_parser;
|
||||||
|
Reference in New Issue
Block a user