Browse Source

_close_servers: close the servers before waiting

Might help #795
patch-2
Neil Booth 6 years ago
parent
commit
b71e95b1a5
  1. 13
      electrumx/server/session.py

13
electrumx/server/session.py

@ -164,14 +164,13 @@ class SessionManager(object):
async def _close_servers(self, kinds): async def _close_servers(self, kinds):
'''Close the servers of the given kinds (TCP etc.).''' '''Close the servers of the given kinds (TCP etc.).'''
kinds = set(kinds).intersection(self.servers)
if kinds: if kinds:
self.logger.info('closing down {} listening servers' self.logger.info(f'closing down {", ".join(kinds)} listening servers')
.format(', '.join(kinds))) servers = [self.servers.pop(kind) for kind in kinds]
for kind in kinds: # Close all before waiting
server = self.servers.pop(kind, None) [server.close() for server in servers]
if server: [await server.wait_closed() for server in servers]
server.close()
await server.wait_closed()
async def _manage_servers(self): async def _manage_servers(self):
paused = False paused = False

Loading…
Cancel
Save