Browse Source

Fix JackEngine::Close to only delete loadable clients.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2276 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.90
sletz 17 years ago
parent
commit
5993705fa5
2 changed files with 14 additions and 7 deletions
  1. +4
    -0
      ChangeLog
  2. +10
    -7
      common/JackEngine.cpp

+ 4
- 0
ChangeLog View File

@@ -20,6 +20,10 @@ Fernando Lopez-Lezcano
Jackdmp changes log
---------------------------

2008-05-13 Stephane Letz <letz@grame.fr>

* Fix JackEngine::Close to only delete "loadable" clients.

2008-05-13 Stephane Letz <letz@grame.fr>

* Fix exception handling in JackShmMem::operator new.


+ 10
- 7
common/JackEngine.cpp View File

@@ -74,20 +74,23 @@ int JackEngine::Close()
{
jack_log("JackEngine::Close");
fChannel->Close();
for (int i = 0; i < CLIENT_NUM; i++) {
JackClientInterface* client = fClientTable[i];
if (client) {
jack_log("JackEngine::Close remaining client %ld", i);
/*
Can only delete clients that where loaded using "jack_internal_client_load" (and not properly unloaded using "jack_internal_client_unload"...)
*/
JackLoadableInternalClient* loadable_client = dynamic_cast<JackLoadableInternalClient*>(fClientTable[i]);
if (loadable_client) {
jack_log("JackEngine::Close delete loadable client %ld", i);
delete loadable_client;
fClientTable[i] = NULL;
delete client;
}
}
fSignal->Destroy();
return 0;
}
//-----------------------------
// Client ressource management
//-----------------------------


Loading…
Cancel
Save