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/
Home Products Support Community News


Re: [Xen-devel] Re: xm list problem with python 2.7

On Thu, 19 Aug 2010, Ian Jackson wrote:

M A Young writes ("Re: [Xen-devel] Re: xm list problem with python 2.7"):
Here is revised patch. I have tested it (without comments) in python 2.6
and 2.7 and should work in earlier versions.

Thanks, that's handy, but it doesn't apply, apparently because your
mailer has mangled the whitespace near the beginning of each line.

Can you try sending it again please , this time both inline and as an
attachment ?

Sorry, about that, here it is again in both formats.

Signed-off-by: Michael Young <m.a.young@xxxxxxxxxxxx>

--- xen-4.0.1/tools/python/xen/util/xmlrpcclient.py.orig        2010-02-02 
20:43:01.000000000 +0000
+++ xen-4.0.1/tools/python/xen/util/xmlrpcclient.py     2010-08-18 
21:36:05.000000000 +0100
@@ -22,6 +22,7 @@
 import string
 import xmlrpclib
 from types import StringTypes
+from sys import hexversion

@@ -54,7 +55,12 @@
         return xmlrpclib.Transport.request(self, host, '/RPC2',
                                            request_body, verbose)
     def make_connection(self, host):
-        return HTTPUnix(self.__handler)
+        if hexversion < 0x02070000:
+            # python 2.6 or earlier
+            return HTTPUnix(self.__handler)
+        else:
+            # xmlrpclib.Transport changed in python 2.7
+            return HTTPUnixConnection(self.__handler)

 # We need our own transport for HTTPS, because xmlrpclib.SafeTransport is
--- xen-4.0.1/tools/python/xen/util/xmlrpclib2.py.orig  2010-02-02 
20:43:01.000000000 +0000
+++ xen-4.0.1/tools/python/xen/util/xmlrpclib2.py       2010-08-18 
21:35:40.000000000 +0100
@@ -58,6 +58,9 @@
 # some bugs in Keep-Alive handling and also enabled it by default
 class XMLRPCRequestHandler(SimpleXMLRPCRequestHandler):
     protocol_version = "HTTP/1.1"
+    # xend crashes in python 2.7 unless disable_nagle_algorithm = False
+    # it isn't used in earlier versions so it is harmless to set it generally
+    disable_nagle_algorithm = False

     def __init__(self, hosts_allowed, request, client_address, server):
         self.hosts_allowed = hosts_allowed

Attachment: localpy27fixes.patch
Description: Text document

Xen-devel mailing list