From b4bc9b9192916ecb98bcb7a25acb579db04dac0d Mon Sep 17 00:00:00 2001 From: "Gregory P. Smith" Date: Mon, 4 Aug 2008 00:15:54 +0000 Subject: [PATCH] (backport r65459 from trunk) - 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 | 12 ++++++++---- Misc/NEWS | 4 ++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Lib/subprocess.py b/Lib/subprocess.py index 31c02df7af2..046f80ca6f8 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: @@ -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: diff --git a/Misc/NEWS b/Misc/NEWS index c74072e8688..8466967bafe 100644 --- 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 -----------------