diff options
| author | bitflash-maintainer <noreply@bitflash.invalid> | 2026-09-03 21:49:26 +0000 |
|---|---|---|
| committer | bitflash-maintainer <noreply@bitflash.invalid> | 2026-09-03 21:49:26 +0000 |
| commit | 5210bd66bb3837c7f8c6e551abc7088e9eb0b36f (patch) | |
| tree | ee098e4a9e6cdbd2451481bc9ae169fef29d32ea /src/rpc.cpp | |
| parent | ad62cfc9e7301a5ac456b92fa31523a516688d30 (diff) | |
| parent | b8a976f4870ba5dfc7a6af1ea09c9277b71d686c (diff) | |
merge: !4 fix/robustness into deploy/all-2026-08-24
Diffstat (limited to 'src/rpc.cpp')
| -rw-r--r-- | src/rpc.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/rpc.cpp b/src/rpc.cpp index a4b53ca..13cb6c9 100644 --- a/src/rpc.cpp +++ b/src/rpc.cpp | |||
| @@ -5077,10 +5077,17 @@ void ThreadRPCServer(void*) | |||
| 5077 | // armed for its one wallet probe before it is allowed to send. | 5077 | // armed for its one wallet probe before it is allowed to send. |
| 5078 | ReconcilePayouts(); | 5078 | ReconcilePayouts(); |
| 5079 | 5079 | ||
| 5080 | _beginthread(AcceptLoopFn, 0, NULL); | 5080 | // _beginthread cannot throw (it reports -1), but an unchecked failure |
| 5081 | _beginthread(LocalAcceptFn, 0, NULL); | 5081 | // leaves the pool running deaf: nobody accepts, announces, or pays, and |
| 5082 | _beginthread(ThreadBtfPoolAnnouncer, 0, NULL); | 5082 | // nothing in the log says why. |
| 5083 | _beginthread(PayoutThreadFn, 0, NULL); | 5083 | if (_beginthread(AcceptLoopFn, 0, NULL) == (uintptr_t)-1) |
| 5084 | LogPrint("pool", "[pool] FATAL: accept loop thread failed to spawn -- miners cannot connect\n"); | ||
| 5085 | if (_beginthread(LocalAcceptFn, 0, NULL) == (uintptr_t)-1) | ||
| 5086 | LogPrint("pool", "[pool] local accept thread failed to spawn\n"); | ||
| 5087 | if (_beginthread(ThreadBtfPoolAnnouncer, 0, NULL) == (uintptr_t)-1) | ||
| 5088 | LogPrint("pool", "[pool] announcer thread failed to spawn -- pool will not be advertised\n"); | ||
| 5089 | if (_beginthread(PayoutThreadFn, 0, NULL) == (uintptr_t)-1) | ||
| 5090 | LogPrint("pool", "[pool] FATAL: payout thread failed to spawn -- no one gets paid\n"); | ||
| 5084 | 5091 | ||
| 5085 | PoolEventLoop(); // blocks until gPoolRunning = false or fShutdown | 5092 | PoolEventLoop(); // blocks until gPoolRunning = false or fShutdown |
| 5086 | 5093 | ||