mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-21 14:34:49 +01:00
Merge bitcoin/bitcoin#29776: ThreadSanitizer: Fix #29767
bbe82c116e
Fix #29767, set m_synced = true after Commit() (nanlour) Pull request description: I think this problem https://github.com/bitcoin/bitcoin/issues/29767#issue-2216373048 is because of in BaseIndex::Sync61de64df67/src/index/base.cpp (L163-L168)
Setup m_synced = true; before Commit(); So this may cause a race condition window to BaseIndex::BlockConnected61de64df67/src/index/base.cpp (L271-L274)
So i try to fix it with move m_synced = true after Commit(). Also see comment of Sync():61de64df67/src/index/base.h (L151-L156)
I am a newcomer interested in Bitcoin, trying to become a member of the Bitcoin Core development team. Please give me some feedback if you could, as I may be doing something wrong. Thank you! ACKs for top commit: fjahr: Code review ACKbbe82c116e
ryanofsky: Code review ACKbbe82c116e
Tree-SHA512: 89a09498a232c87ef1e083d4cc4ed9bb15f045ad0624d5d150a87187b2b8a48a41137974dbc7ea5c37f73da90742c43259f5aa7f84b4179eb8d62033e44fa479
This commit is contained in:
commit
5a5ab1d544
1 changed files with 1 additions and 1 deletions
|
@ -162,9 +162,9 @@ void BaseIndex::Sync()
|
|||
const CBlockIndex* pindex_next = WITH_LOCK(cs_main, return NextSyncBlock(pindex, m_chainstate->m_chain));
|
||||
if (!pindex_next) {
|
||||
SetBestBlockIndex(pindex);
|
||||
m_synced = true;
|
||||
// No need to handle errors in Commit. See rationale above.
|
||||
Commit();
|
||||
m_synced = true;
|
||||
break;
|
||||
}
|
||||
if (pindex_next->pprev != pindex && !Rewind(pindex, pindex_next->pprev)) {
|
||||
|
|
Loading…
Add table
Reference in a new issue