Skip to content

Commit 4117195

Browse files
committed
Don't freeze when out of known nodes
- bitmessage could end up having no known nodes and then it would freeze. Now it shouldn't freeze, however it can still end up without known nodes until a restart in some cases (e.g. when suspending the computer for more then 3 days while BM is running)
1 parent 306a249 commit 4117195

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/class_outgoingSynSender.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,12 @@ def _getPeer(self):
3737
else:
3838
while not shared.shutdown:
3939
shared.knownNodesLock.acquire()
40-
peer, = random.sample(shared.knownNodes[self.streamNumber], 1)
40+
try:
41+
peer, = random.sample(shared.knownNodes[self.streamNumber], 1)
42+
except ValueError: # no known nodes
43+
shared.knownNodesLock.release()
44+
time.sleep(1)
45+
continue
4146
priority = (183600 - (time.time() - shared.knownNodes[self.streamNumber][peer])) / 183600 # 2 days and 3 hours
4247
shared.knownNodesLock.release()
4348
if shared.config.get('bitmessagesettings', 'socksproxytype') != 'none':

0 commit comments

Comments
 (0)