diff options
Diffstat (limited to 'libs/backends/jack')
-rw-r--r-- | libs/backends/jack/jack_audiobackend.cc | 8 | ||||
-rw-r--r-- | libs/backends/jack/jack_audiobackend.h | 3 |
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 (); |