Cancel pending tasks although they are done
This commit is contained in:
parent
458cc0f5e7
commit
40f48e3b95
@ -100,6 +100,22 @@ class Server:
|
||||
self._working = False # Reset peer_is_sender
|
||||
return
|
||||
|
||||
def run(self):
|
||||
loop = asyncio.get_event_loop()
|
||||
logging.info("Starting file bridging server...")
|
||||
try:
|
||||
loop.run_until_complete(self.run_server())
|
||||
except KeyboardInterrupt:
|
||||
logging.info("Stopping...")
|
||||
# Cancel connection tasks (they should be done but are pending)
|
||||
for task in asyncio.all_tasks(loop):
|
||||
task.cancel()
|
||||
loop.run_until_complete(
|
||||
self.server.wait_closed()
|
||||
)
|
||||
loop.close()
|
||||
logging.info("Stooped.")
|
||||
|
||||
async def run_server(self):
|
||||
self._server = await asyncio.start_server(
|
||||
client_connected_cb=self.connect,
|
||||
@ -174,14 +190,8 @@ if __name__ == '__main__':
|
||||
logging.info("Invalid port. Enter a valid port number!")
|
||||
_port = None
|
||||
|
||||
loop = asyncio.get_event_loop()
|
||||
server = Server(
|
||||
host=_host,
|
||||
port=_port,
|
||||
)
|
||||
logging.info("Starting file bridging server...")
|
||||
try:
|
||||
loop.run_until_complete(server.run_server())
|
||||
except KeyboardInterrupt:
|
||||
logging.info("Stopping...")
|
||||
loop.close()
|
||||
server.run()
|
||||
|
Loading…
x
Reference in New Issue
Block a user