From a3d42a90f2b3dace837266881af63edfb2ad46d5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 19 Jun 2022 18:11:23 +0530 Subject: [PATCH] Get rid of os.waitid() since its not present on macOS we cannot rely on it anyway --- kitty/prewarm.py | 38 ++++++++++++-------------------------- 1 file changed, 12 insertions(+), 26 deletions(-) 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: