diff options
author | Wladimir J. van der Laan <laanwj@protonmail.com> | 2020-04-06 20:29:16 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@protonmail.com> | 2020-04-06 20:29:35 +0200 |
commit | 75021e80ee4439dddadbe8c586cee04b85ac110c (patch) | |
tree | b0bcab3fb3dc40a7879dbd8c0f742fda763eb65f /src/net.cpp | |
parent | 54d5ba3d9cb45d8417ecca0f09c68d865d0c423c (diff) | |
parent | 7b8e15728d1ad058a4b7d7569fd5d5ba6806ca28 (diff) | |
download | bitcoin-75021e80ee4439dddadbe8c586cee04b85ac110c.tar.xz |
Merge #18487: rpc: Fix rpcRunLater race in walletpassphrase
7b8e15728d1ad058a4b7d7569fd5d5ba6806ca28 rpc: Fix rpcRunLater race in walletpassphrase (João Barbosa)
Pull request description:
Release locks before calling `rpcRunLater`.
Quick explanation: `rpcRunLater` leads to `event_free` which calls `event_del` which can wait for the event callback to finish if it's already running and that callback will try to lock wallet mutex - which is already locked in http thread.
Fixes #14995 , fixes #18482. Best reviewed with whitespace changes hidden.
ACKs for top commit:
MarcoFalke:
ACK 7b8e15728d, only tested that this avoids the node freezing. Did not look at how libevent works or how the deadlock happens or if this breaks other stuff. 📞
ryanofsky:
Code review ACK 7b8e15728d1ad058a4b7d7569fd5d5ba6806ca28. Just updated comment since last review
Tree-SHA512: 17874a2fa7b0e164fb0d7ee4cb7d59650275b8c03476fb291d60af8b758495457660d3912623fb26259fefe84aeba21c0a9e0c6467982ba511f19344ed5413ab
Diffstat (limited to 'src/net.cpp')
0 files changed, 0 insertions, 0 deletions