Browse Source

Remove hackery

patch-2
Neil Booth 7 years ago
parent
commit
28ea9ae2f4
  1. 16
      electrumx/lib/server_base.py

16
electrumx/lib/server_base.py

@ -93,28 +93,18 @@ class ServerBase(object):
loop.set_exception_handler(self.on_exception)
shutdown_event = asyncio.Event()
try:
async with TaskGroup() as group:
server_task = await group.spawn(self.serve(shutdown_event))
# Wait for shutdown, log on receipt of the event
await shutdown_event.wait()
self.logger.info('shutting down')
server_task.cancel()
finally:
await loop.shutdown_asyncgens()
# Prevent some silly logs
await asyncio.sleep(0.001)
# Finally, work around an apparent asyncio bug that causes log
# spew on shutdown for partially opened SSL sockets
try:
del asyncio.sslproto._SSLProtocolTransport.__del__
except Exception:
pass
self.logger.info('shutdown complete')
def run(self):
loop = asyncio.get_event_loop()
try:
loop.run_until_complete(self._main(loop))
loop.close()
finally:
loop.run_until_complete(loop.shutdown_asyncgens())

Loading…
Cancel
Save