New submission from STINNER Victor:

The asyncio.subprocess.Process class never closes the subprocess transport, 
whereas this transport is private.

I propose to close the transport as soon as possible: when 
transport.get_returncode() is called and its result is not None.

I'm not sure that it's the most efficient way to close the transport. It may be 
better to close the transport in the connection_lost() method of the protocol.

The patch also checks in Process.communicate() that the process is alive, and 
is clears the reference to the transport.

----------
components: asyncio
files: subprocess_close.patch
keywords: patch
messages: 234042
nosy: gvanrossum, haypo, yselivanov
priority: normal
severity: normal
status: open
title: asyncio: Process must close the transport when the process exit
versions: Python 3.4, Python 3.5
Added file: http://bugs.python.org/file37707/subprocess_close.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue23242>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to