From 3a4b1cd8fc0fe0c52b4beb300ced54ddc730e164 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Tue, 28 May 2013 05:45:59 +0000 Subject: fixed possible freezes git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3484 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Transports/http/httpstreamreader.cpp | 3 ++- src/plugins/Transports/mms/mmsstreamreader.cpp | 3 ++- src/qmmp/qmmpaudioengine.cpp | 6 ++++-- 3 files changed, 8 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/plugins/Transports/http/httpstreamreader.cpp b/src/plugins/Transports/http/httpstreamreader.cpp index adf9916e7..3141dce77 100644 --- a/src/plugins/Transports/http/httpstreamreader.cpp +++ b/src/plugins/Transports/http/httpstreamreader.cpp @@ -262,7 +262,8 @@ void HttpStreamReader::abort() } m_stream.aborted = true; m_mutex.unlock(); - m_thread->wait(); + if(m_thread->isRunning()) + m_thread->wait(); if (m_handle) { curl_easy_cleanup(m_handle); diff --git a/src/plugins/Transports/mms/mmsstreamreader.cpp b/src/plugins/Transports/mms/mmsstreamreader.cpp index 8bc9e9790..1e4e46d86 100644 --- a/src/plugins/Transports/mms/mmsstreamreader.cpp +++ b/src/plugins/Transports/mms/mmsstreamreader.cpp @@ -123,7 +123,8 @@ void MMSStreamReader::abort() } m_aborted = true; m_mutex.unlock(); - m_thread->wait(); + if(m_thread->isRunning()) + m_thread->wait(); m_ready = false; if (m_handle) mmsx_close(m_handle); diff --git a/src/qmmp/qmmpaudioengine.cpp b/src/qmmp/qmmpaudioengine.cpp index b66d6b0c4..71f2fbc7c 100644 --- a/src/qmmp/qmmpaudioengine.cpp +++ b/src/qmmp/qmmpaudioengine.cpp @@ -256,7 +256,8 @@ void QmmpAudioEngine::stop() if (m_output) m_output->recycler()->cond()->wakeAll(); - wait(); + if(isRunning()) + wait(); if (m_output) { @@ -269,7 +270,8 @@ void QmmpAudioEngine::stop() if (m_output) { m_output->recycler()->cond()->wakeAll(); - m_output->wait(); + if(m_output->isRunning()) + m_output->wait(); delete m_output; m_output = 0; } -- cgit v1.2.3-13-gbd6f