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
|