Skip to content

Commit 627962b

Browse files
authored
Merge pull request #122 from AndrewFerr/safe-stop-during-startup
Don't crash when stopping process during startup
2 parents 1de10f0 + 837afc5 commit 627962b

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

mautrix/appservice/appservice.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ class AppService(AppServiceServerMixin):
3636
domain: str
3737
id: str
3838
verify_ssl: bool
39-
tls_cert: str
40-
tls_key: str
39+
tls_cert: str | None
40+
tls_key: str | None
4141
as_token: str
4242
hs_token: str
4343
bot_mxid: UserID
@@ -56,7 +56,10 @@ class AppService(AppServiceServerMixin):
5656
loop: asyncio.AbstractEventLoop
5757
log: TraceLogger
5858
app: web.Application
59-
runner: web.AppRunner
59+
runner: web.AppRunner | None
60+
61+
_http_session: aiohttp.ClientSession | None
62+
_intent: IntentAPI | None
6063

6164
def __init__(
6265
self,
@@ -178,10 +181,12 @@ async def start(self, host: str = "127.0.0.1", port: int = 8080) -> None:
178181

179182
async def stop(self) -> None:
180183
self.log.debug("Stopping appservice web server")
181-
await self.runner.cleanup()
184+
if self.runner:
185+
await self.runner.cleanup()
182186
self._intent = None
183-
await self._http_session.close()
184-
self._http_session = None
187+
if self._http_session:
188+
await self._http_session.close()
189+
self._http_session = None
185190
await self.state_store.close()
186191

187192
async def _liveness_probe(self, _: web.Request) -> web.Response:

0 commit comments

Comments
 (0)