diff --git a/src/bitvis.cpp b/src/bitvis.cpp index f4db719..05c8277 100644 --- a/src/bitvis.cpp +++ b/src/bitvis.cpp @@ -209,6 +209,9 @@ void CBitVis::Process() } m_jackclient.Disconnect(); + m_mpdclient->StopThread(); + delete m_mpdclient; + m_mpdclient = NULL; } void CBitVis::ProcessSignalfd() diff --git a/src/mpdclient.cpp b/src/mpdclient.cpp index 6e77460..d05a06f 100644 --- a/src/mpdclient.cpp +++ b/src/mpdclient.cpp @@ -35,13 +35,15 @@ void CMpdClient::Process() if (!GetCurrentSong() || !GetPlayStatus()) { m_socket.Close(); - USleep(10000000); + USleep(10000000, &m_stop); } else { USleep(1000000); } } + + m_socket.Close(); } bool CMpdClient::OpenSocket()