Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

Changeset 407

Show
Ignore:
Timestamp:
07/05/05 16:11:28
Author:
fumanchu
Message:

In _cpwsgiserver, added trap for errors from client-closed sockets. This should further fix tickets #92 and #184.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/cherrypy/_cpwsgiserver.py

    r388 r407  
    9292            self.environ[envname] = v 
    9393        self.ready = True 
     94     
    9495    def start_response(self, status, headers, exc_info = None): 
    9596        if self.started_response: 
     
    106107        self.outheaderkeys = [key.lower() for (key,value) in self.outheaders] 
    107108        return self.write 
     109     
    108110    def write(self, d): 
    109111        if not self.sent_headers: 
     
    112114        self.wfile.write(d) 
    113115        self.wfile.flush() 
     116     
    114117    def send_headers(self): 
    115118        if "content-length" not in self.outheaderkeys: 
     
    124127        self.wfile.write("\r\n") 
    125128        self.wfile.flush() 
     129     
    126130    def terminate(self): 
    127131        if self.ready and not self.sent_headers: 
     
    155159                        for line in response: 
    156160                            request.write(line) 
     161                except socket.error, e: 
     162                    errno = e.args[0] 
     163                    if errno in (32, 10053, 10054): 
     164                        # Client probably closed the connection before the 
     165                        # response was sent. 
     166                        pass 
     167                    else: 
     168                        raise 
    157169                except: 
    158170                    traceback.print_exc() 

Hosted by WebFaction

Log in as guest/cpguest to create tickets