daemon.on_stop: adapt to python 3.8

(py3.8 has breaking changes re asyncio.CancelledError and asyncio.TimeoutError)

follow-up 308517d473
This commit is contained in:
SomberNight 2020-04-15 19:34:52 +02:00
parent c2d6a902dd
commit 47ab8f8dc5
No known key found for this signature in database
GPG key ID: B33B5F232C6271E9

View file

@ -32,6 +32,8 @@ import threading
from typing import Dict, Optional, Tuple, Iterable from typing import Dict, Optional, Tuple, Iterable
from base64 import b64decode, b64encode from base64 import b64decode, b64encode
from collections import defaultdict from collections import defaultdict
import concurrent
from concurrent import futures
import aiohttp import aiohttp
from aiohttp import web, client_exceptions from aiohttp import web, client_exceptions
@ -507,7 +509,7 @@ class Daemon(Logger):
fut = asyncio.run_coroutine_threadsafe(self.taskgroup.cancel_remaining(), self.asyncio_loop) fut = asyncio.run_coroutine_threadsafe(self.taskgroup.cancel_remaining(), self.asyncio_loop)
try: try:
fut.result(timeout=2) fut.result(timeout=2)
except (asyncio.TimeoutError, asyncio.CancelledError): except (concurrent.futures.TimeoutError, concurrent.futures.CancelledError, asyncio.CancelledError):
pass pass
self.logger.info("removing lockfile") self.logger.info("removing lockfile")
remove_lockfile(get_lockfile(self.config)) remove_lockfile(get_lockfile(self.config))