In portage.spawn(), make the default fd_pipes value get file
authorZac Medico <zmedico@gentoo.org>
Fri, 21 Dec 2007 02:14:46 +0000 (02:14 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 21 Dec 2007 02:14:46 +0000 (02:14 -0000)
descriptors from sys.std{in,out,err} so that they can be
overridden.

svn path=/main/trunk/; revision=9016

pym/portage/__init__.py

index a6077c1e4e949a54a2d0ce220a970561f1f26488..8587ba3dd5850f151c276cde4761b6ef40d01deb 100644 (file)
@@ -2756,7 +2756,11 @@ def spawn(mystring, mysettings, debug=0, free=0, droppriv=0, sesandbox=0, fakero
 
        fd_pipes = keywords.get("fd_pipes")
        if fd_pipes is None:
-               fd_pipes = {0:0, 1:1, 2:2}
+               fd_pipes = {
+                       0:sys.stdin.fileno(),
+                       1:sys.stdout.fileno(),
+                       2:sys.stderr.fileno(),
+               }
        # In some cases the above print statements don't flush stdout, so
        # it needs to be flushed before allowing a child process to use it
        # so that output always shows in the correct order.