Commit a504426
authored
btc(v36): complete twin-parity — think-independent 10s re-advert timer leg
Mirror the LTC timer leg from #104/e01c1606. The event leg
(readvertise_best on think work-refresh + clean_tracker best-change)
goes dead exactly when think() wedges -- the livelock-adjacent scenario
this fix family targets. Arm a one-shot core::Timer(10s) -> readvertise_best()
in the run_think IO-phase, fired exactly once when the verified chain
first becomes non-empty, so a peer that handshook during the empty
window can still ingest our chain even if a later think() cycle wedges.
Composes with the merged #97 think-watchdog: timer runs on the IO
thread, pure reads, broadcast stays try_to_lock, no new mutex.
Co-authored-by: frstrtr <frstrtr@users.noreply.github.com>1 parent 47c7a02 commit a504426
2 files changed
Lines changed: 20 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1624 | 1624 | | |
1625 | 1625 | | |
1626 | 1626 | | |
| 1627 | + | |
| 1628 | + | |
| 1629 | + | |
| 1630 | + | |
| 1631 | + | |
| 1632 | + | |
| 1633 | + | |
| 1634 | + | |
| 1635 | + | |
| 1636 | + | |
| 1637 | + | |
| 1638 | + | |
| 1639 | + | |
| 1640 | + | |
| 1641 | + | |
1627 | 1642 | | |
1628 | 1643 | | |
1629 | 1644 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
517 | 517 | | |
518 | 518 | | |
519 | 519 | | |
| 520 | + | |
520 | 521 | | |
521 | 522 | | |
522 | 523 | | |
| |||
552 | 553 | | |
553 | 554 | | |
554 | 555 | | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
555 | 560 | | |
556 | 561 | | |
557 | 562 | | |
| |||
0 commit comments