From 6b12264d40d8a4275f152414c9cb33a6d8f7ea2f Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 20 Sep 2019 09:35:08 -0600 Subject: [PATCH] add an important comment about transportFSM being single-thread and synchronous --- libs/ardour/ardour/transport_fsm.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libs/ardour/ardour/transport_fsm.h b/libs/ardour/ardour/transport_fsm.h index 4c282e6297..570271ee3b 100644 --- a/libs/ardour/ardour/transport_fsm.h +++ b/libs/ardour/ardour/transport_fsm.h @@ -22,9 +22,14 @@ class TransportAPI; struct TransportFSM { - public: - /* events to be delivered to the FSM */ + /* All code related to this object is expected to be run synchronously + * and single-threaded from the process callback. It can be re-entrant + * if handling one transport state change queues another state change, + * but that is handled explicitly (see the @param processing member and + * its usage). + */ + public: enum EventType { ButlerDone, ButlerRequired,