Get rid of os.waitid() since its not present on macOS we cannot rely on it anyway

This commit is contained in:
Kovid Goyal
2022-06-19 18:11:23 +05:30
parent d226e82f68
commit a3d42a90f2

View File

@@ -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: