subprocess: enhance ResourceWarning message
* Add the process identifier to the warning message * Add also a comment to explain the issue
This commit is contained in:
parent
d017176209
commit
c206f1eb1c
|
@ -993,7 +993,6 @@ class Popen(object):
|
||||||
|
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
|
||||||
def _translate_newlines(self, data, encoding):
|
def _translate_newlines(self, data, encoding):
|
||||||
data = data.decode(encoding)
|
data = data.decode(encoding)
|
||||||
return data.replace("\r\n", "\n").replace("\r", "\n")
|
return data.replace("\r\n", "\n").replace("\r", "\n")
|
||||||
|
@ -1018,8 +1017,10 @@ class Popen(object):
|
||||||
# We didn't get to successfully create a child process.
|
# We didn't get to successfully create a child process.
|
||||||
return
|
return
|
||||||
if self.returncode is None:
|
if self.returncode is None:
|
||||||
warnings.warn("running subprocess %r" % self, ResourceWarning,
|
# Not reading subprocess exit status creates a zombi process which
|
||||||
source=self)
|
# is only destroyed at the parent python process exit
|
||||||
|
warnings.warn("subprocess %s is still running" % self.pid,
|
||||||
|
ResourceWarning, source=self)
|
||||||
# In case the child hasn't been waited on, check if it's done.
|
# In case the child hasn't been waited on, check if it's done.
|
||||||
self._internal_poll(_deadstate=_maxsize)
|
self._internal_poll(_deadstate=_maxsize)
|
||||||
if self.returncode is None and _active is not None:
|
if self.returncode is None and _active is not None:
|
||||||
|
|
Loading…
Reference in New Issue