WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH] [RFC] xend: use popen2 module instead of subprocess

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH] [RFC] xend: use popen2 module instead of subprocess for Python 2.3
From: "KUWAMURA Shin'ya" <kuwa@xxxxxxxxxxxxxx>
Date: Fri, 29 May 2009 14:42:09 +0900 (JST)
Delivery-date: Thu, 28 May 2009 22:43:36 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi,

On Python 2.3, xend cannot started:
    File "usr/lib/python2.3/site-packages/xen/xend/server/BlktapController.py", 
line 3, in ?
      import subprocess
  ImportError: No module named subprocess

This patch uses `popen2' instead of `subprocess' for Python 2.3.
However, I tested only 'xend start'. 
Is this correct? 
And, is Python 2.3 still supported?

Signed-off-by: KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>
-- 
  KUWAMURA Shin'ya
# HG changeset patch
# User KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>
# Date 1243574978 -32400
# Node ID 006107c3d953ab8e5803e793db9cb7ef99487c15
# Parent  9e72be06ac4be008f2e673ce11ef86c346e34faa
xend: use popen2 module instead of subprocess for Python 2.3

The module `subprocess' was introduced in Python 2.4.
This patch uses `popen2' instead of `subprocess' for Python 2.3.

Signed-off-by: KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>

diff -r 9e72be06ac4b -r 006107c3d953 
tools/python/xen/xend/server/BlktapController.py
--- a/tools/python/xen/xend/server/BlktapController.py  Fri May 29 14:22:30 
2009 +0900
+++ b/tools/python/xen/xend/server/BlktapController.py  Fri May 29 14:29:38 
2009 +0900
@@ -1,6 +1,6 @@
 # Copyright (c) 2005, XenSource Ltd.
 import string, re
-import subprocess
+import popen2
 
 from xen.xend.server.blkif import BlkifController
 from xen.xend.XendLogging import log
@@ -27,9 +27,12 @@ blktap_disk_types = [
  
 def doexec(args, inputtext=None):
     """Execute a subprocess, then return its return code, stdout and stderr"""
-    proc = 
subprocess.Popen(args,stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,close_fds=True)
-    (stdout,stderr) = proc.communicate(inputtext)
-    rc = proc.returncode
+    proc = popen2.Popen3(args, True)
+    if inputtext != None:
+        proc.tochild.write(inputtext)
+    stdout = proc.fromchild
+    stderr = proc.childerr
+    rc = proc.poll()
     return (rc,stdout,stderr)
 
 def parseDeviceString(device):
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>