Sorry, I seem to have missed the upload to experimental. Meantime, I was pointed out to a couple of commits that would fix the bug, and decided to create a patch of it. And I got it uploaded to Ubuntu development jackd2 branch https://code.launchpad.net/~ubuntu-branches/ubuntu/raring/jackd2/raring (lp:ubuntu/jackd2).
I think it would be worth fixing this bug also in Debian Wheezy. Haven't yet investigated on the procedure to propose a merge, but will give it some time in the coming week. Here's the patch I did. ## Description: This patch, consisting of two upstream commits, fixes an issue where jackdbus is left unresponsively running in the background when stopped. ## Origin/Author: upstream https://github.com/jackaudio/jack2/commit/aa02feeacfa533a07f04e916334637b57eaac5a2, https://github.com/jackaudio/jack2/commit/700489b429b0edb7046b169278e3e6751e3e59fc ## Bug: https://bugs.launchpad.net/ubuntu/+source/jackd2/+bug/956438 ## Applied-Upstream: 1.9.9 Index: jackd2/common/JackLibAPI.cpp =================================================================== --- jackd2.orig/common/JackLibAPI.cpp 2012-11-15 12:39:49.422086000 +0100 +++ jackd2/common/JackLibAPI.cpp 2012-11-15 12:40:43.278938432 +0100 @@ -177,7 +177,7 @@ va_end(ap); JackGlobals::fOpenMutex->Unlock(); return res; - } catch(std::bad_alloc& e) { + } catch (std::bad_alloc& e) { jack_error("Memory allocation error..."); return NULL; } catch (...) { Index: jackd2/common/JackLockedEngine.h =================================================================== --- jackd2.orig/common/JackLockedEngine.h 2012-11-15 12:39:49.422086000 +0100 +++ jackd2/common/JackLockedEngine.h 2012-11-15 12:40:47.583938485 +0100 @@ -41,7 +41,7 @@ */ #define CATCH_EXCEPTION_RETURN \ - } catch(std::bad_alloc& e) { \ + } catch (std::bad_alloc& e) { \ jack_error("Memory allocation error..."); \ return -1; \ } catch (...) { \ @@ -50,10 +50,10 @@ } \ #define CATCH_CLOSE_EXCEPTION_RETURN \ - } catch(std::bad_alloc& e) { \ + } catch (std::bad_alloc& e) { \ jack_error("Memory allocation error..."); \ return -1; \ - } catch(JackTemporaryException& e) { \ + } catch (JackTemporaryException& e) { \ jack_error("JackTemporaryException : now quits..."); \ JackTools::KillServer(); \ return 0; \ @@ -63,7 +63,7 @@ } #define CATCH_EXCEPTION \ - } catch(std::bad_alloc& e) { \ + } catch (std::bad_alloc& e) { \ jack_error("Memory allocation error..."); \ } catch (...) { \ jack_error("Unknown error..."); \ @@ -327,8 +327,8 @@ void NotifyQuit() { + // No lock needed TRY_CALL - JackLock lock(&fEngine); return fEngine.NotifyQuit(); CATCH_EXCEPTION } Index: jackd2/common/JackServer.cpp =================================================================== --- jackd2.orig/common/JackServer.cpp 2012-11-15 12:39:49.422086000 +0100 +++ jackd2/common/JackServer.cpp 2012-11-15 12:40:43.281938432 +0100 @@ -134,7 +134,6 @@ int JackServer::Close() { jack_log("JackServer::Close"); - fEngine->NotifyQuit(); fChannel.Close(); fAudioDriver->Detach(); fAudioDriver->Close(); @@ -190,6 +189,7 @@ int JackServer::Stop() { jack_log("JackServer::Stop"); + fEngine->NotifyQuit(); fChannel.Stop(); fEngine->ShutDown(); Index: jackd2/common/JackServerAPI.cpp =================================================================== --- jackd2.orig/common/JackServerAPI.cpp 2012-11-15 12:39:49.422086000 +0100 +++ jackd2/common/JackServerAPI.cpp 2012-11-15 12:40:43.281938432 +0100 @@ -162,7 +162,7 @@ va_end(ap); JackGlobals::fOpenMutex->Unlock(); return res; - } catch(std::bad_alloc& e) { + } catch (std::bad_alloc& e) { jack_error("Memory allocation error..."); return NULL; } catch (...) { Index: jackd2/posix/JackSocketServerChannel.cpp =================================================================== --- jackd2.orig/posix/JackSocketServerChannel.cpp 2012-11-15 12:39:49.422086000 +0100 +++ jackd2/posix/JackSocketServerChannel.cpp 2012-11-15 12:40:43.282938432 +0100 @@ -97,7 +97,7 @@ void JackSocketServerChannel::Stop() { - fThread.Kill(); + fThread.Stop(); } void JackSocketServerChannel::ClientCreate() _______________________________________________ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers