Andrew Chow 3a83d4417b
Merge bitcoin/bitcoin#27720: index: prevent race by calling 'CustomInit' prior setting 'synced' flag
3126454dcfa1dd29bb66500d5f2b5261684d6c58 index: prevent race by calling 'CustomInit' prior setting 'synced' flag (furszy)

Pull request description:

  Decoupled from #27607.

  Fixed a potential race condition in master (not possible so far) that could become an actual issue soon.
  Where the index's  `CustomAppend` method could be called (from `BlockConnected`) before its
  `CustomInit` method, causing the index to try to update itself before it is initialized.

  This could happen because we set the index `m_synced` flag (which enables `BlockConnected` events)
  before calling to the child class init function (`CustomInit`). So, for example, the block filter index could
  process a block before initialize the next filter position field and end up overwriting the first stored filter.

  This race was introduced in bef4e405f3 from https://github.com/bitcoin/bitcoin/pull/25494.

ACKs for top commit:
  achow101:
    ACK 3126454dcfa1dd29bb66500d5f2b5261684d6c58
  mzumsande:
    Code review ACK 3126454dcfa1dd29bb66500d5f2b5261684d6c58
  TheCharlatan:
    Nice, ACK 3126454dcfa1dd29bb66500d5f2b5261684d6c58

Tree-SHA512: 7a53fed1d2035cb4c1f331d6ee9f92d499b6cbb618ea534c6440f5a45ff9b3ac4dcff5fb4b88937f45a0be249e3a9c6dc6c3ac77180f12ae25fc56856ba39735
2023-05-31 13:56:28 -04:00
..
2023-05-30 17:46:46 -03:00
2023-03-23 12:55:18 +01:00
2022-12-24 23:49:50 +00:00
2023-01-05 09:05:14 +00:00
2023-03-23 19:38:38 +01:00
2023-03-23 19:38:38 +01:00
2023-01-26 10:44:05 +01:00
2023-03-23 12:55:18 +01:00
2023-03-23 12:55:18 +01:00
2022-12-24 23:49:50 +00:00
2023-03-23 12:55:18 +01:00
2022-12-24 23:49:50 +00:00
2023-03-23 12:55:18 +01:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-01-12 13:42:44 +00:00
2023-01-25 09:33:26 +01:00
2023-03-23 12:55:18 +01:00