From a585444f7b2c8009ccf29a6ecb76ce13587bf15c Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Thu, 17 Dec 1992 17:31:58 +0000 Subject: [PATCH] Added compatibility hacks for Python 0.9.6. --- Demo/rpc/rpc.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/Demo/rpc/rpc.py b/Demo/rpc/rpc.py index 4fbc7957651..71a2c1f6945 100644 --- a/Demo/rpc/rpc.py +++ b/Demo/rpc/rpc.py @@ -127,8 +127,13 @@ def make_auth_unix(seed, host, uid, gid, groups): return p.get_buf() def make_auth_unix_default(): - return make_auth_unix(0, socket.gethostname(), \ - os.getuid(), os.getgid(), []) + try: + from os import getuid, getgid + uid = getuid() + gid = getgid() + except ImportError: + uid = gid = 0 + return make_auth_unix(0, socket.gethostname(), uid, gid, []) # Common base class for clients @@ -259,7 +264,11 @@ class RawUDPClient(Client): p.pack_callheader(xid, self.prog, self.vers, proc, cred, verf) def do_call(self, *rest): - from select import select + try: + from select import select + except ImportError: + print 'WARNING: select not found, RPC may hang' + select = None if len(rest) == 0: bufsize = 8192 elif len(rest) > 1: @@ -271,7 +280,9 @@ class RawUDPClient(Client): count = 5 self.sock.send(call) while 1: - r, w, x = select([self.sock], [], [], timeout) + r, w, x = [self.sock], [], [] + if select: + r, w, x = select(r, w, x, timeout) if self.sock not in r: count = count - 1 if count < 0: raise RuntimeError, 'timeout'