Get rid of os.waitid() since its not present on macOS we cannot rely on it anyway
This commit is contained in:
parent
d226e82f68
commit
a3d42a90f2
1 changed files with 12 additions and 26 deletions
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Reference in a new issue