summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/transport_fsm.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2019-09-20 09:35:08 -0600
committerPaul Davis <paul@linuxaudiosystems.com>2019-09-20 09:38:17 -0600
commit6b12264d40d8a4275f152414c9cb33a6d8f7ea2f (patch)
treebba78ad778531a2708ac9bee1314160157ef6c4e /libs/ardour/ardour/transport_fsm.h
parentb075c67e514be77381509464cc44b0ec2406cf71 (diff)
add an important comment about transportFSM being single-thread and synchronous
Diffstat (limited to 'libs/ardour/ardour/transport_fsm.h')
-rw-r--r--libs/ardour/ardour/transport_fsm.h9
1 files 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,