From adf3fe57aa603ca5deca805cf7569303f95e291c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Metin=20=C3=87elik?= Date: Sun, 14 Jul 2024 11:56:59 +0200 Subject: [PATCH] Retry deleting eldenring.exe if it is still running --- er-patcher | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/er-patcher b/er-patcher index d396739..2e51c39 100755 --- a/er-patcher +++ b/er-patcher @@ -8,16 +8,22 @@ import struct import re from shutil import rmtree import os +import time def cleanup(game_dir_patched): if game_dir_patched.exists(): eldenring_path = game_dir_patched / "eldenring.exe" - try: - if eldenring_path.exists(): + while eldenring_path.exists(): + try: os.remove(eldenring_path) - rmtree(game_dir_patched) - except Exception as e: - print(f"er-patcher: could not delete {game_dir_patched}: {e}") + break + except PermissionError: + # eldenring.exe is still running, retry in 3 s + time.sleep(3) + except Exception as e: + print(f"er-patcher: could not delete {eldenring_path}: {e}") + break + rmtree(game_dir_patched) if __name__ == "__main__":