diff options
Diffstat (limited to 'wsgitools/scgi/forkpool.py')
-rw-r--r-- | wsgitools/scgi/forkpool.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/wsgitools/scgi/forkpool.py b/wsgitools/scgi/forkpool.py index 26de9ef..b913190 100644 --- a/wsgitools/scgi/forkpool.py +++ b/wsgitools/scgi/forkpool.py @@ -11,6 +11,11 @@ import select import sys import errno +try: + long +except NameError: + long = int + class SocketFileWrapper: """Wraps a socket to a wsgi-compliant file-like object.""" def __init__(self, sock, toread): @@ -153,7 +158,8 @@ class SocketFileWrapper: return def writelines(self, lines): """see pep333""" - map(self.write, lines) + for line in lines: + self.write(line) class SCGIServer: """Usage: create an L{SCGIServer} object and invoke the run method which @@ -228,7 +234,7 @@ class SCGIServer: elif data in ('0', '1'): self.workers[s].state = int(data) else: - raise RuntimeError, "unexpected data from worker" + raise RuntimeError("unexpected data from worker") try: pid = 1 while pid > 0: @@ -263,7 +269,7 @@ class SCGIServer: self.workers[srvsock.fileno()] = SCGIServer.\ WorkerState(pid, srvsock, 0) else: - raise RuntimeError, "fork failed" + raise RuntimeError("fork failed") def work(self, worksock): """ @@ -299,7 +305,7 @@ class SCGIServer: if not length.isdigit(): # clear protocol violation con.close() return - length = long(length) + length = int(length) while len(data) != length + 1: # read one byte beyond try: |