Page MenuHomePhabricator

Fix wallet RPC race by waiting for callbacks in sendrawtransaction
ClosedPublic

Authored by deadalnix on May 31 2019, 07:00.

Details

Summary

This is partial backport of Core PR10286 : https://github.com/bitcoin/bitcoin/pull/10286/commits/cb06edf938302166030db19017c27889ea5b10b6

This patch was merged with the following bug fix:

Fix sendrawtransaction hang when sending a tx already in mempool

This is a backport of Core PR11738 : https://github.com/bitcoin/bitcoin/pull/11738

Test Plan
make check
./test/functional/test_runner.py --extended

Diff Detail

Repository
rABC Bitcoin ABC
Branch
fixrpcrace
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 6090
Build 10229: Bitcoin ABC Buildbot (legacy)
Build 10228: arc lint + arc unit

Event Timeline

jasonbcox requested changes to this revision.May 31 2019, 17:35
jasonbcox added a subscriber: jasonbcox.
jasonbcox added inline comments.
src/rpc/rawtransaction.cpp
1347

else was removed here. While functionally equivalent, this doesn't match the PR and is only a potential merge conflict hazard later on. I'd prefer to keep these sorts of changes until after 2018 backports are completed.

This revision now requires changes to proceed.May 31 2019, 17:35
deadalnix added inline comments.
src/rpc/rawtransaction.cpp
1347

Having completely unclear control flow is exactly how https://github.com/bitcoin/bitcoin/pull/11738 happened in the first place.

This revision is now accepted and ready to land.May 31 2019, 21:39