mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-07 15:25:01 +01:00
Update call_slot() API, inform caller if slot cannot be queued
It can happen that ::get_request() returns NULL if the EventPool is full. In that case the slot is never called. In this case the caller can now take action.
This commit is contained in:
parent
03e0fe0a73
commit
95aa39d1c4
5 changed files with 15 additions and 9 deletions
|
|
@ -96,10 +96,11 @@ class MyEventLoop : public sigc::trackable, public EventLoop
|
|||
run_loop_thread = Glib::Threads::Thread::self();
|
||||
}
|
||||
|
||||
void call_slot (InvalidationRecord*, const boost::function<void()>& f) {
|
||||
bool call_slot (InvalidationRecord*, const boost::function<void()>& f) {
|
||||
if (Glib::Threads::Thread::self() == run_loop_thread) {
|
||||
f ();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Glib::Threads::Mutex& slot_invalidation_mutex() { return request_buffer_map_lock; }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue