diff --git a/kitty/prewarm.py b/kitty/prewarm.py index 8b44e17e8..c7bc5b04e 100644 --- a/kitty/prewarm.py +++ b/kitty/prewarm.py @@ -48,32 +48,18 @@ class Child: child_process_pid: int -if hasattr(os, 'waitid'): - def wait_for_child_death(child_pid: int, timeout: float = 1) -> Optional[int]: - st = time.monotonic() - while time.monotonic() - st < timeout: - try: - x = os.waitid(os.P_PID, child_pid, os.WEXITED | os.WNOHANG) - except ChildProcessError: - return 0 - else: - if x is not None and x.si_pid == child_pid: - return x.si_status - time.sleep(0.01) - return None -else: - def wait_for_child_death(child_pid: int, timeout: float = 1) -> Optional[int]: - st = time.monotonic() - while time.monotonic() - st < timeout: - try: - pid, status = os.waitpid(child_pid, os.WNOHANG) - except ChildProcessError: - return 0 - else: - if pid == child_pid: - return status - time.sleep(0.01) - return None +def wait_for_child_death(child_pid: int, timeout: float = 1) -> Optional[int]: + st = time.monotonic() + while time.monotonic() - st < timeout: + try: + pid, status = os.waitpid(child_pid, os.WNOHANG) + except ChildProcessError: + return 0 + else: + if pid == child_pid: + return status + time.sleep(0.01) + return None class PrewarmProcess: