dash/src/coinjoin
pasta dc6f52ac99
Merge #5961: feat: implement read write locks in threading and use them for CActiveMasternodeManager::cs
069282611c refactor: make CActiveMasternodeManager::cs SharedMutex and private (pasta)
663774c544 feat: implement Read Write Locks in threading (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  We have some caches or other information in codebase which are read from a lot; but rarely written to. We can use a RW lock here instead of a normal Mutex

  ## What was done?
  Implement a RW lock and use them

  ## How Has This Been Tested?
  Hasn't been much; looking for review atm. Maybe should deploy this on testnet for a bit and make sure it doesn't break.
  ## Breaking Changes

  ## Checklist:
    _Go over all the following points, and put an `x` in all the boxes that apply._
  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  knst:
    utACK 069282611c

Tree-SHA512: a9759d4904580eebb5ddf9e05d3d54cf4b0b0db971f09d2f4cb093fddc0a13094998ef2af301de581fd64dc1235df80bace7f701ab437c2ecfa663b4fc6e25ed
2024-04-03 10:36:12 -05:00
..
client.cpp refactor: pass CDeterministicMNManager by ref to CJContext members 2024-03-19 15:21:00 +00:00
client.h refactor: pass CDeterministicMNManager by ref to CJContext members 2024-03-19 15:21:00 +00:00
coinjoin.cpp refactor: pass CActiveMasternodeManager as pointer arg to CJContext 2024-03-24 07:37:31 +00:00
coinjoin.h Merge #20588: Remove unused and confusing CTransaction constructor 2024-04-03 14:11:35 +07:00
common.cpp non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
common.h non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
context.cpp refactor: pass CActiveMasternodeManager as pointer arg to CJContext 2024-03-24 07:37:31 +00:00
context.h refactor: pass CActiveMasternodeManager as pointer arg to CJContext 2024-03-24 07:37:31 +00:00
interfaces.cpp refactor: drop global coinJoinWalletManager 2024-01-10 12:06:04 -06:00
options.cpp non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
options.h non-scripted-diff: bump copyright year to 2023 2024-02-24 11:05:37 -06:00
server.cpp refactor: make CActiveMasternodeManager::cs SharedMutex and private 2024-03-27 20:41:45 -05:00
server.h refactor: pass CActiveMasternodeManager as pointer arg to CJContext 2024-03-24 07:37:31 +00:00
util.cpp refactor: drop dependency of CJ to fee_estimator 2024-03-06 03:31:50 +07:00
util.h refactor: drop dependency of CJ to fee_estimator 2024-03-06 03:31:50 +07:00