[issue18823] Idle: use pipes instead of sockets to talk with user subprocess

Terry J. Reedy report at bugs.python.org
Sat Aug 24 01:35:04 CEST 2013


New submission from Terry J. Reedy:

Idle once used os.spawnv to open the user subprocess and 2.7 still does. Sockets were then used to interact with the subprocess. Since rev71746, 2011-8-3, 3.2+ use subprocess.Popen but still use sockets. A rare but continual problem is failure to make the socket connection.

In #16123, Amaury Forgeot d'Arc suggested "pipes?" The idea resurfaced again in current Idle-sig thread "Idle does not open on mac" (because socket connection timed out). Guido, who designed the current 2.x system, chimed in with "I would recommend trying to use the subprocess module."

A current python-list thread indicates that there can be problems with
"Running a command line program and reading the result as it runs"
http://mail.python.org/pipermail/python-list/2013-August/654265.html

In particular, "for line in p:" gets lines delayed (buffered) while
Peter Otten discovered that "for line in iter(p.stdout.readline, ''):" gets them as they are produced.
http://mail.python.org/pipermail/python-list/2013-August/654330.html

We first need to experiment running a simple echo server with python(w).exe.  I have not succeeded yet on Windows.

----------
components: IDLE
messages: 196055
nosy: roger.serwy, terry.reedy
priority: normal
severity: normal
status: open
title: Idle: use pipes instead of sockets to talk with user subprocess
type: behavior
versions: Python 3.3, Python 3.4

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue18823>
_______________________________________


More information about the Python-bugs-list mailing list