Browse Source

Avoid calling jack1's bad set_thread_init_callback

Fixes #337
tags/1.9.7
falkTX 9 years ago
parent
commit
f6f371b644
1 changed files with 4 additions and 1 deletions
  1. +4
    -1
      source/backend/engine/CarlaEngineJack.cpp

+ 4
- 1
source/backend/engine/CarlaEngineJack.cpp View File

@@ -1226,11 +1226,14 @@ public:
plugin->setEnabled(false);

// set new client data
jackbridge_set_thread_init_callback(jackClient, carla_jack_thread_init_callback, nullptr);
jackbridge_set_latency_callback(jackClient, carla_jack_latency_callback_plugin, plugin);
jackbridge_set_process_callback(jackClient, carla_jack_process_callback_plugin, plugin);
jackbridge_on_shutdown(jackClient, carla_jack_shutdown_callback_plugin, plugin);

// NOTE: jack1 locks up here
if (jackbridge_get_version_string() != nullptr)
jackbridge_set_thread_init_callback(jackClient, carla_jack_thread_init_callback, nullptr);

/* The following code is because of a tricky situation.
We cannot lock or do jack operations during jack callbacks on jack1. jack2 events are asynchronous.
When we close the client jack will trigger unregister-port callbacks, which we handle on a separate thread ASAP.


Loading…
Cancel
Save