Commit b95caff5 authored by Martin v. Löwis's avatar Martin v. Löwis

Clarify cases when waitpid might not return self.pid.

parent 478c82d3
......@@ -94,6 +94,7 @@ class Popen3:
if self.sts < 0:
try:
pid, sts = os.waitpid(self.pid, os.WNOHANG)
# pid will be 0 if self.pid hasn't terminated
if pid == self.pid:
self.sts = sts
except os.error:
......@@ -105,8 +106,10 @@ class Popen3:
"""Wait for and return the exit status of the child process."""
if self.sts < 0:
pid, sts = os.waitpid(self.pid, 0)
if pid == self.pid:
self.sts = sts
# This used to be a test, but it is believed to be
# always true, so I changed it to an assertion - mvl
assert pid == self.pid
self.sts = sts
return self.sts
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment