diff options
Diffstat (limited to 'libs/ardour/butler.cc')
-rw-r--r-- | libs/ardour/butler.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/libs/ardour/butler.cc b/libs/ardour/butler.cc index c9eb55a472..327665441e 100644 --- a/libs/ardour/butler.cc +++ b/libs/ardour/butler.cc @@ -43,6 +43,7 @@ namespace ARDOUR { Butler::Butler(Session& s) : SessionHandleRef (s) , thread() + , have_thread (false) , audio_dstream_capture_buffer_size(0) , audio_dstream_playback_buffer_size(0) , midi_dstream_buffer_size(0) @@ -126,16 +127,18 @@ Butler::start_thread() } //pthread_detach (thread); - + have_thread = true; return 0; } void Butler::terminate_thread () { - void* status; - queue_request (Request::Quit); - pthread_join (thread, &status); + if (have_thread) { + void* status; + queue_request (Request::Quit); + pthread_join (thread, &status); + } } void * |