From 0f8ab6bd6fbbf6d22517e1e63e79f0c62e7803a5 Mon Sep 17 00:00:00 2001 From: Oleh Prypin Date: Wed, 26 Jul 2023 21:12:17 +0200 Subject: [PATCH] Fix livereload shutdown sequence - crash on Windows Fixes #3305 Regressed in commit d4d483c7796a84908b2edb745d9e72de28236b87 --- mkdocs/livereload/__init__.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/mkdocs/livereload/__init__.py b/mkdocs/livereload/__init__.py index 565add64..53837ed0 100644 --- a/mkdocs/livereload/__init__.py +++ b/mkdocs/livereload/__init__.py @@ -152,21 +152,18 @@ class LiveReloadServer(socketserver.ThreadingMixIn, wsgiref.simple_server.WSGISe self.observer.unschedule(self._watch_refs.pop(path)) def serve(self): - try: - self.server_bind() - self.server_activate() + self.server_bind() + self.server_activate() - self.observer.start() + self.observer.start() - paths_str = ", ".join(f"'{_try_relativize_path(path)}'" for path in self._watched_paths) - log.info(f"Watching paths for changes: {paths_str}") + paths_str = ", ".join(f"'{_try_relativize_path(path)}'" for path in self._watched_paths) + log.info(f"Watching paths for changes: {paths_str}") - log.info(f"Serving on {self.url}") - self.serve_thread.start() + log.info(f"Serving on {self.url}") + self.serve_thread.start() - self._build_loop() - finally: - self.server_close() + self._build_loop() def _build_loop(self): while True: @@ -213,6 +210,7 @@ class LiveReloadServer(socketserver.ThreadingMixIn, wsgiref.simple_server.WSGISe if self.serve_thread.is_alive(): super().shutdown() + self.server_close() if wait: self.serve_thread.join() self.observer.join()