def get_connection(self, host, login, passwd, conn):
host = unicode(host)
login = unicode(login)
passwd = unicode(passwd) if passwd is not None else None
connection = self._search_connection(host, login, passwd, conn)
if (connection is None):
self._connections_lock.acquireWrite()
try:
connection = self._search_connection(host, login, passwd, conn)
if (connection is None):
connection = wvmConnection(host, login, passwd, conn)
if host in self._connections:
self._connections[host].append(connection)
else:
self._connections[host] = [connection]
finally:
self._connections_lock.release()
elif not connection.connected:
connection.connect()
if connection.connected:
return connection.connection
else:
raise libvirtError(connection.last_error)
评论列表
文章目录