mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
xend: use popen2 module instead of subprocess for Python 2.3
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.
Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
This commit is contained in:
1 parent
a480caa3c5
commit
1e03bc6f02
1 file changed
+7
-4
@@ -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):
|
||||
|
||||