mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-02-18 19:39:09 +00:00
Several shutdown-related fixes
* do not let vnThreadsRunning[1] go negative * do not perform locking operations while vnThreadsRunning[1] is decreased * check vnThreadsRunning[1] at exit
This commit is contained in:
parent
622f1438de
commit
d52397b3c0
13
src/net.cpp
13
src/net.cpp
@ -1431,9 +1431,13 @@ void ThreadOpenConnections2(void* parg)
|
||||
int64 nStart = GetTime();
|
||||
loop
|
||||
{
|
||||
// Limit outbound connections
|
||||
vnThreadsRunning[1]--;
|
||||
Sleep(500);
|
||||
vnThreadsRunning[1]++;
|
||||
if (fShutdown)
|
||||
return;
|
||||
|
||||
// Limit outbound connections
|
||||
loop
|
||||
{
|
||||
int nOutbound = 0;
|
||||
@ -1445,13 +1449,12 @@ void ThreadOpenConnections2(void* parg)
|
||||
nMaxOutboundConnections = min(nMaxOutboundConnections, (int)GetArg("-maxconnections", 125));
|
||||
if (nOutbound < nMaxOutboundConnections)
|
||||
break;
|
||||
vnThreadsRunning[1]--;
|
||||
Sleep(2000);
|
||||
vnThreadsRunning[1]++;
|
||||
if (fShutdown)
|
||||
return;
|
||||
}
|
||||
vnThreadsRunning[1]++;
|
||||
if (fShutdown)
|
||||
return;
|
||||
|
||||
bool fAddSeeds = false;
|
||||
|
||||
@ -1845,7 +1848,7 @@ bool StopNode()
|
||||
fShutdown = true;
|
||||
nTransactionsUpdated++;
|
||||
int64 nStart = GetTime();
|
||||
while (vnThreadsRunning[0] > 0 || vnThreadsRunning[2] > 0 || vnThreadsRunning[3] > 0 || vnThreadsRunning[4] > 0
|
||||
while (vnThreadsRunning[0] > 0 || vnThreadsRunning[1] > 0 || vnThreadsRunning[2] > 0 || vnThreadsRunning[3] > 0 || vnThreadsRunning[4] > 0
|
||||
#ifdef USE_UPNP
|
||||
|| vnThreadsRunning[5] > 0
|
||||
#endif
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user