summaryrefslogtreecommitdiff
path: root/libs/backends/jack
diff options
context:
space:
mode:
Diffstat (limited to 'libs/backends/jack')
-rw-r--r--libs/backends/jack/jack_audiobackend.cc8
-rw-r--r--libs/backends/jack/jack_audiobackend.h3
2 files changed, 10 insertions, 1 deletions
diff --git a/libs/backends/jack/jack_audiobackend.cc b/libs/backends/jack/jack_audiobackend.cc
index e004849896..89a93a76f6 100644
--- a/libs/backends/jack/jack_audiobackend.cc
+++ b/libs/backends/jack/jack_audiobackend.cc
@@ -789,6 +789,14 @@ JACKAudioBackend::create_process_thread (boost::function<void()> f, pthread_t* t
return 0;
}
+int
+JACKAudioBackend::wait_for_process_thread_exit (AudioBackendNativeThread thr)
+{
+ void* status;
+ /* this doesn't actively try to stop the thread, it just waits till it exits */
+ return pthread_join (thr, &status);
+}
+
void*
JACKAudioBackend::_start_process_thread (void* arg)
{
diff --git a/libs/backends/jack/jack_audiobackend.h b/libs/backends/jack/jack_audiobackend.h
index 1389e15c4a..61f1bbb602 100644
--- a/libs/backends/jack/jack_audiobackend.h
+++ b/libs/backends/jack/jack_audiobackend.h
@@ -100,7 +100,8 @@ class JACKAudioBackend : public AudioBackend {
size_t raw_buffer_size (DataType t);
- int create_process_thread (boost::function<void()> func, pthread_t*, size_t stacksize);
+ int create_process_thread (boost::function<void()> func, AudioBackendNativeThread*, size_t stacksize);
+ int wait_for_process_thread_exit (AudioBackendNativeThread);
void transport_start ();
void transport_stop ();