diff options
author | MarcoFalke <falke.marco@gmail.com> | 2019-01-15 13:41:59 -0500 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2019-01-15 13:42:05 -0500 |
commit | 82ffd4d91832c275f791a17f697534cc677c89fd (patch) | |
tree | 0b424542b339305af76a9a54259a953727cf99e6 /.github | |
parent | eb2aecfb80662a91c649ea1455d9812ced05c323 (diff) | |
parent | fa5e373365b8e88fc9894f53f618d3e89f1bec14 (diff) |
Merge #14963: mempool, validation: Explain cs_main locking semantics
fa5e373365 validation: Add cs_main locking annotations (MarcoFalke)
fa5c346c5a doc: Add comment to cs_main and mempool::cs (MarcoFalke)
fafe941bdd test: Add missing validation locks (MarcoFalke)
fac4558462 sync: Add RecursiveMutex type alias (MarcoFalke)
Pull request description:
Both the chain state and the transaction pool are validation specific, but access to them is protected by two locks. The two locks have the following semantics:
* Writing to the chain state or adding transactions to the transaction pool -> Take both `cs_main` and `mempool::cs`
* Reading either or removing transactions from the the transaction pool -> Take only the appropriate lock
Tree-SHA512: 6f6e612ffc391904c6434a79a4f3f8de1b928bf0a3e3434b73561037b395e2b40a70a5a4bd8472dd230e9eacc8e5d5374c904a3c509910cf3971dd7ff59a626c
Diffstat (limited to '.github')
0 files changed, 0 insertions, 0 deletions