homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author v+python
Recipients ncoghlan, v+python
Date 2010年12月07日.03:01:38
SpamBayes Score 0.0
Marked as misclassified No
Message-id <1291690900.2.0.77776332893.issue10482@psf.upfronthosting.co.za>
In-reply-to
Content
Looking at the code the way I've used it in my modified server.py:
 stderr = []
 stderr_thread = threading.Thread(target=self._readerthread,
 args=(p.stderr, stderr))
 stderr_thread.daemon = True
 stderr_thread.start()
 self.log_message("writer: %s" % str( nbytes ))
 stdin_thread = threading.Thread(target=self._writerthread,
 args=(self.rfile, p.stdin, nbytes))
 stdin_thread.daemon = True
 stdin_thread.start()
and later
 stderr_thread.join()
 stdin_thread.join()
 p.stderr.close()
 p.stdout.close()
 if stderr:
 stderr = stderr[ 0 ].decode("UTF-8")
It seems like this sort of code (possibly passing in the encoding) could be bundled back inside subprocess (I borrowed it from there).
It also seems from recent discussion on npopdev that the cheat-sheet "how to replace" other sys and os popen functions would be better done as wrapper functions for the various cases. Someone pointed out that the hard cases probably aren't cross-platform, but that currently the easy cases all get harder when using subprocess than when using the deprecated facilities. They shouldn't. The names may need to be a bit more verbose to separate the various use cases, but each use case should remain at least as simple as the prior function.
So perhaps instead of just subprocess.PIPE to select particular handling for stdin, stdout, and stderr, subprocess should implement some varieties to handle attaching different types of reader and writer threads to the handles... of course, parameters need to come along for the ride too: maybe the the additional variations would be object references with parameters supplied, instead of just a manifest constant like .PIPE.
History
Date User Action Args
2010年12月07日 03:01:40v+pythonsetrecipients: + v+python, ncoghlan
2010年12月07日 03:01:40v+pythonsetmessageid: <1291690900.2.0.77776332893.issue10482@psf.upfronthosting.co.za>
2010年12月07日 03:01:38v+pythonlinkissue10482 messages
2010年12月07日 03:01:38v+pythoncreate

AltStyle によって変換されたページ (->オリジナル) /