]> granicus.if.org Git - python/commitdiff
(backport r65459 from trunk)
authorGregory P. Smith <greg@mad-scientist.com>
Mon, 4 Aug 2008 00:15:54 +0000 (00:15 +0000)
committerGregory P. Smith <greg@mad-scientist.com>
Mon, 4 Aug 2008 00:15:54 +0000 (00:15 +0000)
- 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.

Lib/subprocess.py
Misc/NEWS

index 31c02df7af275338357d8d691f3a25d7b53ac284..046f80ca6f88d9515fc307c3650dbdefcc9351dc 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:
@@ -634,7 +634,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)
@@ -670,6 +670,10 @@ class Popen(object):
         return self._communicate(input)
 
 
+    def poll(self):
+        return self._internal_poll()
+
+
     if mswindows:
         #
         # Windows methods
@@ -843,7 +847,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:
@@ -1103,7 +1107,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 c74072e8688862f198ce7ba16a38f6efb328a821..8466967bafeb3c20c675e2ef9807ca63e6ee15a1 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -126,6 +126,10 @@ Library
   in the common case when the data is returned from the underlying socket
   in increments much smaller than bignumber.
 
+- 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.
+
 Extension Modules
 -----------------