From 7b901c18a91e86971b10d94184d534f771937782 Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Fri, 27 Apr 2012 19:39:33 -0400 Subject: [PATCH] Show some debug output if we forcefully kill external resolvers --- src/libtomahawk/resolvers/ScriptResolver.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/libtomahawk/resolvers/ScriptResolver.cpp b/src/libtomahawk/resolvers/ScriptResolver.cpp index 3d8f6f890..6e66fb6d6 100644 --- a/src/libtomahawk/resolvers/ScriptResolver.cpp +++ b/src/libtomahawk/resolvers/ScriptResolver.cpp @@ -69,15 +69,19 @@ ScriptResolver::~ScriptResolver() msg[ "_msgtype" ] = "quit"; sendMessage( msg ); - m_proc.waitForFinished( 2000 ); // might call handleMsg + bool finished = m_proc.waitForFinished( 2500 ); // might call handleMsg Tomahawk::Pipeline::instance()->removeResolver( this ); + if ( !finished || m_proc.state() == QProcess::Running ) + { + qDebug() << "External resolver didn't exit after waiting 2s for it to die, killing forcefully"; #ifdef Q_OS_WIN - m_proc.kill(); + m_proc.kill(); #else - m_proc.terminate(); + m_proc.terminate(); #endif + } if ( !m_configWidget.isNull() ) delete m_configWidget.data();