Skip to content

Conversation

@laanwj
Copy link
Member

@laanwj laanwj commented Dec 2, 2015

Continues work to remove/push down RPC locks from #7013.
createrawtransaction is a pure utility function that doesn't use main's data structures, so it does not require that lock.

Despite being a one-line change, needs to be reviewed carefully. Although I didn't find any, there may be unguarded use of main data structures deeper in the call chain. Not meant for 0.12

This is a pure utility function that doesn't use
main's data structures, so it does not require that lock.
@jonasschnelli
Copy link
Contributor

Code Review utACK. Can't find any unguarded deeper structure either.

@jgarzik
Copy link
Contributor

jgarzik commented Dec 2, 2015

ACK

@jtimon
Copy link
Contributor

jtimon commented Dec 4, 2015

createrawtransaction() doesn't use any non-local variable and its parameters const UniValue& params, bool fHelp are both cs_main-safe.
I don't need to test this.
ACK

@dcousens
Copy link
Contributor

dcousens commented Dec 4, 2015

utACK

I couldn't find any unguarded paths.

@paveljanik
Copy link
Contributor

ACK

@instagibbs
Copy link
Member

utACK

@laanwj laanwj merged commit 6e76587 into bitcoin:master Dec 11, 2015
laanwj added a commit that referenced this pull request Dec 11, 2015
6e76587 rpc: remove cs_main lock from `createrawtransaction` (Wladimir J. van der Laan)
luke-jr pushed a commit to luke-jr/bitcoin that referenced this pull request Dec 28, 2015
This is a pure utility function that doesn't use
main's data structures, so it does not require that lock.

Github-Pull: bitcoin#7156
Rebased-From: 6e76587
luke-jr pushed a commit to luke-jr/bitcoin that referenced this pull request Dec 28, 2015
This is a pure utility function that doesn't use
main's data structures, so it does not require that lock.

Github-Pull: bitcoin#7156
Rebased-From: 6e76587
luke-jr added a commit to bitcoinknots/bitcoin that referenced this pull request Jun 26, 2016
codablock pushed a commit to codablock/dash that referenced this pull request Dec 9, 2017
6e76587 rpc: remove cs_main lock from `createrawtransaction` (Wladimir J. van der Laan)
LarryRuane pushed a commit to LarryRuane/zcash that referenced this pull request Feb 19, 2021
This is a pure utility function that doesn't use
main's data structures, so it does not require that lock.

zcash: cs_main still needed while calling chainActive()

zcash: cherry picked 6e76587
zcash: bitcoin/bitcoin#7156
zkbot added a commit to zcash/zcash that referenced this pull request Feb 19, 2021
Bitcoin 0.12 locking PRs

These are locking changes from upstream (bitcoin core) release 0.12.

- bitcoin/bitcoin#7013
- bitcoin/bitcoin#7156
- bitcoin/bitcoin#7229
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants