From bc0fa4d689a4bbcc4afa8a86fff53567bac80a57 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 24 Nov 2016 09:02:47 +0100 Subject: Fix mysterious crashes such as #7049 Fixes an issue with corrupted std::lists<> due to concurrent writes to the invalidation list which eventually resulted in EventLoop::invalidate_request() not invalidating requests. Concurrency sucks rocks hard. --- libs/pbd/pbd/abstract_ui.h | 1 + 1 file changed, 1 insertion(+) (limited to 'libs/pbd/pbd/abstract_ui.h') diff --git a/libs/pbd/pbd/abstract_ui.h b/libs/pbd/pbd/abstract_ui.h index 78a337fc40..278f8a2603 100644 --- a/libs/pbd/pbd/abstract_ui.h +++ b/libs/pbd/pbd/abstract_ui.h @@ -63,6 +63,7 @@ class ABSTRACT_UI_API AbstractUI : public BaseUI Glib::Threads::Mutex& slot_invalidation_mutex() { return request_buffer_map_lock; } Glib::Threads::Mutex request_buffer_map_lock; + Glib::Threads::Mutex request_invalidation_lock; static void* request_buffer_factory (uint32_t num_requests); -- cgit v1.2.3