summaryrefslogtreecommitdiff
path: root/libs/pbd/pbd/event_loop.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-04-03 00:42:39 +0000
committerCarl Hetherington <carl@carlh.net>2010-04-03 00:42:39 +0000
commit8a8552c4cb7c6ea6aa30675ab4fa39bae86a18cf (patch)
tree76fe2c691b6bd24baee0e6ac9d2c809bbb9ee19e /libs/pbd/pbd/event_loop.h
parentf14a33e492ee45599fcb20087bdd32a1698a6803 (diff)
Allow cross-thread request invalidators to cope with multiple requests
being logged before they are handled, and to invalidate them all rather than just the last one. Fixes shutdown problems when the PortMatrix has been opened during the session, during which PortRegisteredOrUnregistered is emitted quite heavily. git-svn-id: svn://localhost/ardour2/branches/3.0@6852 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/pbd/pbd/event_loop.h')
-rw-r--r--libs/pbd/pbd/event_loop.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/libs/pbd/pbd/event_loop.h b/libs/pbd/pbd/event_loop.h
index 088b061826..6e7e42e9dd 100644
--- a/libs/pbd/pbd/event_loop.h
+++ b/libs/pbd/pbd/event_loop.h
@@ -40,12 +40,12 @@ class EventLoop
struct BaseRequestObject;
struct InvalidationRecord {
- BaseRequestObject* request;
- PBD::EventLoop* event_loop;
- const char* file;
- int line;
+ std::list<BaseRequestObject*> requests;
+ PBD::EventLoop* event_loop;
+ const char* file;
+ int line;
- InvalidationRecord() : request (0), event_loop (0) {}
+ InvalidationRecord() : event_loop (0) {}
};
static void* invalidate_request (void* data);