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 <rep...@bugs.python.org>
<http://bugs.python.org/issue18823>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to