From d4253860f7a6c4eceaab44f837f94ba894e763e9 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 8 Jul 2024 22:40:21 -0600 Subject: [PATCH] JACK backend: fix race condition caused by not wrapping jack_set_property() in JACK_SERVER_CALL --- libs/backends/jack/jack_portengine.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/backends/jack/jack_portengine.cc b/libs/backends/jack/jack_portengine.cc index 216c9f6850..f869e3701d 100644 --- a/libs/backends/jack/jack_portengine.cc +++ b/libs/backends/jack/jack_portengine.cc @@ -178,10 +178,10 @@ int JACKAudioBackend::set_port_property (PortHandle port, const std::string& key, const std::string& value, const std::string& type) { #ifdef HAVE_JACK_METADATA // really everyone ought to have this by now. - int rv = -1; + int rv; jack_client_t* client = _jack_connection->jack(); jack_uuid_t uuid = jack_port_uuid (std::dynamic_pointer_cast(port)->jack_ptr); - return jack_set_property(client, uuid, key.c_str(), value.c_str(), type.c_str()); + JACK_SERVER_CALL (rv = jack_set_property(client, uuid, key.c_str(), value.c_str(), type.c_str())); return rv; #else return -1;