Out-Of-Band handlers need to protect shared state if there is any.
Mention it in the document.
Suggested-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
---
docs/devel/qapi-code-gen.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a/docs/devel/qapi-code-gen.txt b/docs/devel/qapi-code-gen.txt
index 1366228b2a..bee9de35df 100644
--- a/docs/devel/qapi-code-gen.txt
+++ b/docs/devel/qapi-code-gen.txt
@@ -680,6 +680,9 @@ OOB command handlers must satisfy the following conditions:
- It does not invoke system calls that may block,
- It does not access guest RAM that may block when userfaultfd is
enabled for postcopy live migration.
+- It needs to protect any shared state, since as long as a command
+ supports Out-Of-Band it means the handler can be run in parallel
+ with the same handler running in the other thread.
If in doubt, do not implement OOB execution support.
--
2.17.1