diff options
author | MarcoFalke <falke.marco@gmail.com> | 2021-02-22 09:47:11 +0100 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2021-02-22 09:47:15 +0100 |
commit | 34d70300631e775f1fe4f28ffadecfe6e2ce369b (patch) | |
tree | 69195e4358c7439a58a74b81aff699b66c548d1d /doc | |
parent | 4b6ca4a35a121da7667f85a58dd445755b15beca (diff) | |
parent | 25c57d640992255ed67964a44b17afbfd4bed0cf (diff) |
Merge #21202: [validation] Two small clang lock annotation improvements
25c57d640992255ed67964a44b17afbfd4bed0cf [doc] Add a note about where lock annotations should go. (Amiti Uttarwar)
ad5f01b96045f304b6cf9100879592b835c49c40 [validation] Move the lock annotation from function definition to declaration (Amiti Uttarwar)
Pull request description:
Based on reviewing #21188
the first commit switches the lock annotations on `CheckInputScripts` to be on the function declaration instead of on the function definition. this ensures that all call sites are checked, not just ones that come after the definition.
the second commit adds a note to the developer-notes section to clarify where the annotations should be applied.
ACKs for top commit:
MarcoFalke:
ACK 25c57d640992255ed67964a44b17afbfd4bed0cf 🥘
promag:
Code review ACK 25c57d640992255ed67964a44b17afbfd4bed0cf.
Tree-SHA512: 61b6ef856bf6c6016d535fbdd19daf57b9e59fe54a1f30d47282a071b9b9d60b2466b044ee57929e0320cb1bdef52e7a1687cacaa27031bbc43d058ffffe22ba
Diffstat (limited to 'doc')
-rw-r--r-- | doc/developer-notes.md | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/doc/developer-notes.md b/doc/developer-notes.md index 011c38321c..8f2d7af089 100644 --- a/doc/developer-notes.md +++ b/doc/developer-notes.md @@ -785,6 +785,11 @@ Threads and synchronization get compile-time warnings about potential race conditions in code. Combine annotations in function declarations with run-time asserts in function definitions: + - In functions that are declared separately from where they are defined, the + thread safety annotations should be added exclusively to the function + declaration. Annotations on the definition could lead to false positives + (lack of compile failure) at call sites between the two. + ```C++ // txmempool.h class CTxMemPool |