]> granicus.if.org Git - python/commitdiff
Clarify cases when waitpid might not return self.pid.
authorMartin v. Löwis <martin@v.loewis.de>
Fri, 24 Mar 2006 08:26:26 +0000 (08:26 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Fri, 24 Mar 2006 08:26:26 +0000 (08:26 +0000)
Lib/popen2.py

index 1529f7e1aeed2fb4ad5557509496a3448b2c2a78..67ebd26dd64e565868990d61efb2851d0a42fe3d 100644 (file)
@@ -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