From 4072ab6f9e4d5eafb3ffa25cb8538dedde8360de Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Fri, 26 Jun 2009 12:57:43 +0000 Subject: Added --timeout options to cli tools. Cli tools will not hang indefinitely if the broker is non-responsive. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@788681 13f79535-47bb-0310-9956-ffa450edef68 --- python/qpid/managementdata.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'python/qpid') diff --git a/python/qpid/managementdata.py b/python/qpid/managementdata.py index 84eb9c3ff8..c0d32d46cf 100644 --- a/python/qpid/managementdata.py +++ b/python/qpid/managementdata.py @@ -31,6 +31,7 @@ import struct import os import platform import locale +from qpid.connection import Timeout from qpid.management import managementChannel, managementClient from threading import Lock from disp import Display @@ -206,11 +207,22 @@ class ManagementData: self.sessionId = "%s.%d" % (platform.uname()[1], os.getpid()) self.broker = Broker (host) - self.conn = Connection (connect (self.broker.host, self.broker.port), + sock = connect (self.broker.host, self.broker.port) + oldTimeout = sock.gettimeout() + sock.settimeout(10) + self.conn = Connection (sock, username=self.broker.username, password=self.broker.password) self.spec = self.conn.spec + def aborted(): + raise Timeout("Waiting for connection to be established with broker") + oldAborted = self.conn.aborted + self.conn.aborted = aborted + self.conn.start () + sock.settimeout(oldTimeout) + self.conn.aborted = oldAborted + self.mclient = managementClient (self.spec, self.ctrlHandler, self.configHandler, self.instHandler, self.methodReply, self.closeHandler) self.mclient.schemaListener (self.schemaHandler) -- cgit v1.2.1