From b19cbe8c841055455759d2ba4847f617fdb18d43 Mon Sep 17 00:00:00 2001
From: David Robillard
Date: Thu, 3 Mar 2011 03:27:04 +0000
Subject: Clarify host-provided extension function threading rules.
---
core.lv2/lv2.ttl | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/core.lv2/lv2.ttl b/core.lv2/lv2.ttl
index 5fc2d6f..d0cdaeb 100644
--- a/core.lv2/lv2.ttl
+++ b/core.lv2/lv2.ttl
@@ -139,17 +139,19 @@ the functions provided by a plugin are divided into classes:
run(), connect_port()
-Extensions to this specification which add new functions MUST declare in
-which of these classes the functions belong, or define new classes for them.
-The rules that hosts MUST follow are:
+Extensions to this specification which add new plugin functions MUST declare in
+which of these classes the functions belong, or define new classes for them. Extensions
+which add new host-provided functions MUST declare from which of these classes the
+functions may be called, or otherwise precisely describe their threading rules.
+The rules that hosts MUST follow are:
-- When a function is running for a plugin instance,
+
- When any function is running for a plugin instance,
no other function in the same class may run for that instance.
-- When a function from the Discovery class is running,
+
- When a Discovery function is running,
no other functions in the same shared object file may run.
-- When a function from the Instantiation class is running for a plugin
-instance, no other functions for that instance may run.
+- When an Instantiation function is running for a plugin instance,
+no other functions for that instance may run.
Any simultaneous calls that are not explicitly forbidden by these rules are
--
cgit v1.2.1