Changeset 1324

Show
Ignore:
Timestamp:
03/23/08 15:16:35 (6 months ago)
Author:
alo
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • cherokee-pyscgi/ChangeLog

    r964 r1324  
     12008-03-23  Alvaro Lopez Ortega  <alvaro@alobbs.com> 
     2 
     3        * pyscgi/pyscgi.py: Added a new method send() to write the 
     4        information safely. There was an issue on OS X that made large 
     5        responses to fail. 
     6 
     7        * pyscgi/pyscgi.py: Print all the exceptions except of SystemExit. 
     8 
    192007-12-29  Alvaro Lopez Ortega  <alvaro@alobbs.com> 
    210 
  • cherokee-pyscgi/pyscgi/pyscgi.py

    r964 r1324  
    3838import SocketServer 
    3939import traceback 
     40import socket 
    4041import errno 
     42import sys 
    4143 
    42 __version__ = '1.2
     44__version__ = '1.6
    4345__author__  = 'Alvaro Lopez Ortega' 
    4446 
     
    5456            try: 
    5557                return self.rfile.read(lenght) 
    56             except OSError, e: 
    57                 if e.errno == errno.EAGAIN: 
    58                     continue 
    59             except IOError, e: 
    60                 if e.errno == errno.EAGAIN: 
     58            except socket.error, (err, strerr): 
     59                if err == errno.EAGAIN or \ 
     60                   err == errno.EWOULDBLOCK or \ 
     61                   err == errno.EINPROGRESS: 
    6162                    continue 
    6263            raise 
     64 
     65    def send(self, buf): 
     66        pending = len(buf) 
     67        offset = 0 
     68        while pending: 
     69            try: 
     70                sent = self.connection.send(buf[offset:]) 
     71                pending -= sent 
     72                offset += sent 
     73            except socket.error, e: 
     74                if e[0]!=errno.EAGAIN: 
     75                    raise 
    6376 
    6477    def __read_netstring_size (self): 
     
    107120            self.handle_request() 
    108121        except: 
    109             traceback.print_exc()  # Print the error 
     122            if sys.exc_type != SystemExit: 
     123                traceback.print_exc()  # Print the error 
    110124 
    111125        try: 
  • cherokee-pyscgi/setup.py

    r928 r1324  
    55 
    66setup (name         = "cherokee_pyscgi", 
    7        version      = "1.3", 
     7       version      = "1.6", 
    88       description  = "Portable SCGI implementation", 
    99       author       = "Alvaro Lopez Ortega",