mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 02:30:03 +01:00
xend: enable environment passing in xPopen3
In changeset 19990:38dd208e1d95 a new parameter 'env' was added to xPopen3, but no code was added to actually pass the environment down to execvpe. Also, the new code was unreachable. Signed-off-by: Olaf Hering <olaf@aepfle.de> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
This commit is contained in:
1 parent
b1f2c77ffd
commit
4369b2cd6f
1 file changed
+2
-3
@@ -104,7 +104,7 @@ class xPopen3:
|
||||
os.dup2(c2pwrite, 1)
|
||||
if capturestderr:
|
||||
os.dup2(errin, 2)
|
||||
self._run_child(cmd)
|
||||
self._run_child(cmd, env)
|
||||
os.close(p2cread)
|
||||
self.tochild = os.fdopen(p2cwrite, 'w', bufsize)
|
||||
os.close(c2pwrite)
|
||||
@@ -116,7 +116,7 @@ class xPopen3:
|
||||
self.childerr = None
|
||||
_active.append(self)
|
||||
|
||||
def _run_child(self, cmd):
|
||||
def _run_child(self, cmd, env):
|
||||
if isinstance(cmd, basestring):
|
||||
cmd = ['/bin/sh', '-c', cmd]
|
||||
for i in range(3, MAXFD):
|
||||
@@ -127,7 +127,6 @@ class xPopen3:
|
||||
except OSError:
|
||||
pass
|
||||
try:
|
||||
os.execvp(cmd[0], cmd)
|
||||
if env is None:
|
||||
os.execvp(cmd[0], cmd)
|
||||
else:
|
||||
|
||||