diff options
| author | bitflash-maintainer <noreply@bitflash.invalid> | 2026-09-02 17:10:41 +0000 |
|---|---|---|
| committer | bitflash-maintainer <noreply@bitflash.invalid> | 2026-09-02 17:10:41 +0000 |
| commit | 738d5b411bab4e13e176a11f8ae6e6f70337381e (patch) | |
| tree | 0a3c9fabb998eead8068aeaecced61d3343e7f32 /src/rpc.cpp | |
| parent | e7b6bbffb1786eef842f1e446118a4daa9edf58f (diff) | |
worker: let a stop request interrupt the reconnect backoff
The retry sleep polled only fShutdown, while the loop around it polls
fShutdown, fGenerateBitcoins and nMineMode. That was survivable at a flat
10s. Raising the ceiling to 120s made it expensive: after an operator
cleared Generate or switched to Relay mode, the participant session --
and the vfThreadRunning[3] slot that gates restarting it -- stayed held
for up to two minutes.
Measured with the loop shape replicated and the stop condition flipped 1s
into a 120s sleep: 119.01s to notice before, 1.00s after, via either
fGenerateBitcoins or nMineMode. The fShutdown path is unchanged at 1.00s.
It also narrows the window on a pre-existing unsynchronised read of
vfThreadRunning[3] at gui.cpp:901, where a stop-then-start inside it
leaves mining silently not restarted.
Diffstat (limited to 'src/rpc.cpp')
0 files changed, 0 insertions, 0 deletions