-
Notifications
You must be signed in to change notification settings - Fork 38.7k
[refactor] interfaces: Add missing LockAnnotation for cs_main #15855
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
fad8bc2 to
fa0a3ba
Compare
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
fa0a3ba to
fa90b1a
Compare
promag
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concept ACK.
fa90b1a to
fa7a61d
Compare
|
Addressed feedback by @promag |
bab981d to
fab495f
Compare
fab495f to
fa2633e
Compare
|
Concept ACK |
fa2633e to
fa58deb
Compare
5b0d796 to
face05a
Compare
|
utACK face05a080c081fc426ff34ecb39ac072710034b. |
face05a to
fad1d26
Compare
|
@MarcoFalke The added comment makes it easier to understand for human reviewers. That is good, but I still think we would be better off if we used different annotations for the "opt-out of analysis" and "give the compiler a locking guarantee when it fails to understand our code" use cases: When analysing locks using static analysis etc I want to be able to let This change breaks that implication. Perhaps |
fad1d26 to
fa3c651
Compare
Sounds good. I have addressed your concerns, but this suggestion should go into a follow-up pull request? |
ryanofsky
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK fa3c651
|
utACK fa3c651 |
…s_main fa3c651 [refactor] interfaces: Add missing LockAnnotation for cs_main (MarcoFalke) Pull request description: This adds missing `LockAnnotation lock(::cs_main);` to `src/interfaces/chain.cpp` (as well as tests and benchmarks) ACKs for commit fa3c65: practicalswift: utACK fa3c651 ryanofsky: utACK fa3c651 Tree-SHA512: b67082fe3718c94b4addf7f2530593915225c25080f20c3ffa4ff7e08f1f49548f255fb285f89a8feff84be3f6c91e1792495ced9f6bf396732396d1356d597a
…r cs_main Summary: bitcoin/bitcoin@fa3c651 --- Depends on D6260 Backport of Core [[bitcoin/bitcoin#15855 | PR15855]] Test Plan: cmake .. -GNinja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DENABLE_WERROR=ON -DENABLE_SANITIZERS=thread ninja check-all ninja ./src/bench/bitcoin-bench Reviewers: #bitcoin_abc, deadalnix Reviewed By: #bitcoin_abc, deadalnix Subscribers: deadalnix Differential Revision: https://reviews.bitcoinabc.org/D6259
* merge bitcoin#15855: Add missing LockAnnotation for cs_main * mutex: update cs_main locks, assertions and annotations This commit is a squash between 8c98823 and 90d0535
…nnotation for cs_main fa3c651 [refactor] interfaces: Add missing LockAnnotation for cs_main (MarcoFalke) Pull request description: This adds missing `LockAnnotation lock(::cs_main);` to `src/interfaces/chain.cpp` (as well as tests and benchmarks) ACKs for commit fa3c65: practicalswift: utACK fa3c651 ryanofsky: utACK fa3c651 Tree-SHA512: b67082fe3718c94b4addf7f2530593915225c25080f20c3ffa4ff7e08f1f49548f255fb285f89a8feff84be3f6c91e1792495ced9f6bf396732396d1356d597a
…4530) * merge bitcoin#15855: Add missing LockAnnotation for cs_main * mutex: update cs_main locks, assertions and annotations This commit is a squash between 8c98823 and 90d0535
…nnotation for cs_main fa3c651 [refactor] interfaces: Add missing LockAnnotation for cs_main (MarcoFalke) Pull request description: This adds missing `LockAnnotation lock(::cs_main);` to `src/interfaces/chain.cpp` (as well as tests and benchmarks) ACKs for commit fa3c65: practicalswift: utACK fa3c651 ryanofsky: utACK fa3c651 Tree-SHA512: b67082fe3718c94b4addf7f2530593915225c25080f20c3ffa4ff7e08f1f49548f255fb285f89a8feff84be3f6c91e1792495ced9f6bf396732396d1356d597a
This adds missing
LockAnnotation lock(::cs_main);tosrc/interfaces/chain.cpp(as well as tests and benchmarks)