]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
- Issue #1857: subprocess.Popen.poll gained an additional _deadstate keyword
authorGregory P. Smith <greg@mad-scientist.com>
Mon, 4 Aug 2008 00:13:29 +0000 (00:13 +0000)
committerGregory P. Smith <greg@mad-scientist.com>
Mon, 4 Aug 2008 00:13:29 +0000 (00:13 +0000)
  argument in python 2.5, this broke code that subclassed Popen to include its
  own poll method.  Fixed my moving _deadstate to an _internal_poll method.

Lib/subprocess.py
Misc/NEWS

index 35970f8c7e6a8e73462994c4f1edf711b18a0ae9..f2c91f13e0510be7efd0b5a9234556a6407648ac 100644 (file)
@@ -421,7 +421,7 @@ _active = []
 
 def _cleanup():
     for inst in _active[:]:
-        if inst.poll(_deadstate=sys.maxint) >= 0:
+        if inst._internal_poll(_deadstate=sys.maxint) >= 0:
             try:
                 _active.remove(inst)
             except ValueError:
@@ -635,7 +635,7 @@ class Popen(object):
             # We didn't get to successfully create a child process.
             return
         # In case the child hasn't been waited on, check if it's done.
-        self.poll(_deadstate=sys.maxint)
+        self._internal_poll(_deadstate=sys.maxint)
         if self.returncode is None and _active is not None:
             # Child is still running, keep us alive until we can wait on it.
             _active.append(self)
@@ -671,6 +671,10 @@ class Popen(object):
         return self._communicate(input)
 
 
+    def poll(self):
+        return self._internal_poll()
+
+
     if mswindows:
         #
         # Windows methods
@@ -842,7 +846,7 @@ class Popen(object):
                 errwrite.Close()
 
 
-        def poll(self, _deadstate=None):
+        def _internal_poll(self, _deadstate=None):
             """Check if child process has terminated.  Returns returncode
             attribute."""
             if self.returncode is None:
@@ -1112,7 +1116,7 @@ class Popen(object):
                 raise RuntimeError("Unknown child exit status!")
 
 
-        def poll(self, _deadstate=None):
+        def _internal_poll(self, _deadstate=None):
             """Check if child process has terminated.  Returns returncode
             attribute."""
             if self.returncode is None:
index 5824ce3279c31fc31ab88b2929eb3a6b72e78355..604fc398c2d917e182f9e2015c7a5ffa2e8b8d24 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -71,6 +71,10 @@ Library
   file name rather than a ZipInfo instance, so files are extracted with
   mode 0600 rather than 000 under Unix.
 
+- Issue #1857: subprocess.Popen.poll gained an additional _deadstate keyword
+  argument in python 2.5, this broke code that subclassed Popen to include its
+  own poll method.  Fixed my moving _deadstate to an _internal_poll method.
+
 Build
 -----