Changeset 849
- Timestamp:
- 11/28/05 13:46:57
- Files:
-
- trunk/cherrypy/_cphttpserver.py (modified) (1 diff)
- trunk/cherrypy/_cpwsgiserver.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/cherrypy/_cphttpserver.py
r843 r849 173 173 self.server_address = (host, port) 174 174 175 # Get the correct address family for our host (allows IPv6 addresses) 176 for res in socket.getaddrinfo(host, port, socket.AF_UNSPEC, 177 socket.SOCK_STREAM): 178 af, socktype, proto, canonname, sa = res 179 self.address_family = af 180 self.socket_type = socktype 181 try: 182 self.socket = socket.socket(af, socktype, proto) 183 self.server_bind() 184 except socket.error, msg: 185 if self.socket: 186 self.socket.close() 187 self.socket = None 188 continue 189 break 190 191 if not self.socket: 192 raise socket.error, msg 175 try: 176 info = socket.getaddrinfo(host, port, socket.AF_UNSPEC, 177 socket.SOCK_STREAM) 178 except socket.gaierror: 179 # Probably a DNS issue. 180 # Must...refuse...temptation..to..guess... 181 self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 182 self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 183 self.socket.bind(self.server_address) 184 else: 185 # Get the correct address family for our host (allows IPv6 addresses) 186 for res in info: 187 af, socktype, proto, canonname, sa = res 188 self.address_family = af 189 self.socket_type = socktype 190 try: 191 self.socket = socket.socket(af, socktype, proto) 192 self.server_bind() 193 except socket.error, msg: 194 if self.socket: 195 self.socket.close() 196 self.socket = None 197 continue 198 break 199 if not self.socket: 200 raise socket.error, msg 193 201 194 202 self.server_activate() trunk/cherrypy/_cpwsgiserver.py
r847 r849 230 230 # Get the correct address family for our host (allows IPv6 addresses) 231 231 host, port = self.bind_addr 232 for res in socket.getaddrinfo(host, port, socket.AF_UNSPEC, 233 socket.SOCK_STREAM): 234 af, socktype, proto, canonname, sa = res 235 try: 236 self.socket = socket.socket(af, socktype, proto) 237 self.socket.setsockopt(socket.SOL_SOCKET, 238 socket.SO_REUSEADDR, 1) 239 self.socket.bind(self.bind_addr) 240 except socket.error, msg: 241 if self.socket: 242 self.socket.close() 243 self.socket = None 244 continue 245 break 246 247 if not self.socket: 248 raise socket.error, msg 232 try: 233 info = socket.getaddrinfo(host, port, socket.AF_UNSPEC, 234 socket.SOCK_STREAM) 235 except socket.gaierror: 236 # Probably a DNS issue. Assume IPv4. 237 self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 238 self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 239 self.socket.bind(self.bind_addr) 240 else: 241 for res in info: 242 af, socktype, proto, canonname, sa = res 243 try: 244 self.socket = socket.socket(af, socktype, proto) 245 self.socket.setsockopt(socket.SOL_SOCKET, 246 socket.SO_REUSEADDR, 1) 247 self.socket.bind(self.bind_addr) 248 except socket.error, msg: 249 if self.socket: 250 self.socket.close() 251 self.socket = None 252 continue 253 break 254 if not self.socket: 255 raise socket.error, msg 249 256 250 257 # Timeout so KeyboardInterrupt can be caught on Win32

