summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/subprocess.py12
-rw-r--r--Misc/NEWS4
2 files changed, 12 insertions, 4 deletions
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 35970f8..f2c91f1 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -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:
diff --git a/Misc/NEWS b/Misc/NEWS
index 5824ce3..604fc39 100644
--- 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
-----