From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olaf Hering Subject: [PATCH] xend: enable environment passing in xPopen3 Date: Wed, 21 Nov 2012 21:49:40 +0100 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org # HG changeset patch # User Olaf Hering # Date 1353530937 -3600 # Node ID a446956472330fe32bc69be764a33f59fb090792 # Parent 2489c29266982175b5b4e945c97b4549360e947f 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 diff -r 2489c2926698 -r a44695647233 tools/python/xen/util/xpopen.py --- a/tools/python/xen/util/xpopen.py +++ b/tools/python/xen/util/xpopen.py @@ -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: