Blob Blame History Raw
--- CherryPy-2.3.0.orig/cherrypy/_cpwsgiserver.py	2008-01-14 12:20:11.000000000 +1000
+++ CherryPy-2.3.0.orig/cherrypy/_cpwsgiserver.py	2012-02-21 15:24:54.151563814 +1000
@@ -204,13 +204,17 @@ 
         self.wfile.flush()
     
     def terminate(self):
-        if self.ready and not self.sent_headers and not self.server.interrupt:
-            self.sent_headers = True
-            self.send_headers()
-        self.rfile.close()
-        self.wfile.close()
-        self.socket.close()
-
+        try:
+            if self.ready and not self.sent_headers and not self.server.interrupt:
+                self.sent_headers = True
+                self.send_headers()
+            self.rfile.close()
+            self.wfile.close()
+            self.socket.close()
+        except socket.error, e:
+            errno = e.args[0]
+            if errno not in socket_errors_to_ignore:
+                traceback.print_exc()
 
 _SHUTDOWNREQUEST = None