When a previous call to poll() has already seen the process status,

wait() should not call waitpid() again.

Should be backported to 2.2.4.
This commit is contained in:
Guido van Rossum 2003-06-02 19:12:01 +00:00
parent bf68c78a6f
commit 3800ef7ae2
1 changed files with 5 additions and 4 deletions

View File

@ -83,6 +83,7 @@ class Popen3:
def wait(self): def wait(self):
"""Wait for and return the exit status of the child process.""" """Wait for and return the exit status of the child process."""
if self.sts < 0:
pid, sts = os.waitpid(self.pid, 0) pid, sts = os.waitpid(self.pid, 0)
if pid == self.pid: if pid == self.pid:
self.sts = sts self.sts = sts