Rename socket.error to OSError.

Server shutdown management.
pull/11/head
grossmj 10 years ago
parent f4dd096a8b
commit 27379682df

@ -20,10 +20,9 @@ import os
import datetime
import sys
import multiprocessing
import logging
import tornado.options
from .server import Server
from .version import __version__
from gns3server.server import Server
from gns3server.version import __version__
# command line options
from tornado.options import define
@ -60,9 +59,6 @@ def main():
tornado.options.print_help()
raise SystemExit
# FIXME: log everything for now (excepting DEBUG)
logging.basicConfig(level=logging.INFO)
from tornado.options import options
server = Server(options.host,
options.port,

@ -71,7 +71,7 @@ class DynamipsHypervisor(object):
self._socket = socket.create_connection((self._host,
self._port),
self._timeout)
except socket.error as e:
except OSError as e:
raise DynamipsError("Could not connect to server: {}".format(e))
try:
@ -362,7 +362,7 @@ class DynamipsHypervisor(object):
with socket.socket(socket.AF_INET, socket_type) as s:
s.bind((host, port)) # the port is available if bind is a success
return port
except socket.error as e:
except OSError as e:
if e.errno == errno.EADDRINUSE: # socket already in use
continue
else:
@ -428,7 +428,7 @@ class DynamipsHypervisor(object):
command = command.strip() + '\n'
log.debug("sending {}".format(command))
self.socket.sendall(command.encode('utf-8'))
except socket.error as e:
except OSError as e:
raise DynamipsError("Lost communication with {host}:{port} :{error}"
.format(host=self._host, port=self._port, error=e))
@ -439,7 +439,7 @@ class DynamipsHypervisor(object):
try:
chunk = self.socket.recv(1024) # match to Dynamips' buffer size
buf += chunk.decode("utf-8")
except socket.error as e:
except OSError as e:
raise DynamipsError("Communication timed out with {host}:{port} :{error}"
.format(host=self._host, port=self._port, error=e))

@ -412,7 +412,7 @@ class HypervisorManager(object):
try:
with socket.create_connection((host, port), timeout):
pass
except socket.error as e:
except OSError as e:
last_exception = e
continue
connection_success = True

@ -798,7 +798,7 @@ class IOUDevice(object):
with socket.socket(socket.AF_INET, socket_type) as s:
s.bind((host, port)) # the port is available if bind is a success
return port
except socket.error as e:
except OSError as e:
if e.errno == errno.EADDRINUSE: # socket already in use
continue
else:

@ -61,7 +61,7 @@ class Server(object):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
sock.bind(('127.0.0.1', 0))
self._zmq_port = sock.getsockname()[1]
except socket.error as e:
except OSError as e:
log.warn("could not pick up a random port for the ZeroMQ server: {}".format(e))
self._zmq_port = port + 1 # let's try this server port + 1
self._ipc = ipc
@ -137,10 +137,10 @@ class Server(object):
try:
print("Starting server on {}:{}".format(self._host, self._port))
tornado_app.listen(self._port, address=self._host)
except socket.error as e:
except OSError as e:
if e.errno == errno.EADDRINUSE: # socket already in use
logging.critical("socket in use for port {}".format(self._port))
raise SystemExit
logging.critical("socket in use for {}:{}".format(self._host, self._port))
self._cleanup()
ioloop = tornado.ioloop.IOLoop.instance()
stream = zmqstream.ZMQStream(router, ioloop)
@ -212,7 +212,7 @@ class Server(object):
# terminate all modules
for module in self._modules:
module.join(timeout=1)
#module.join(timeout=1)
if module.is_alive():
log.info("terminating {}".format(module.name))
module.terminate()

Loading…
Cancel
Save