summaryrefslogtreecommitdiff
path: root/cpp/bindings/qmf
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2009-11-10 15:25:30 +0000
committerTed Ross <tross@apache.org>2009-11-10 15:25:30 +0000
commitac8ea7e7ef33c4f6e0beab1131a66662ca82c8cb (patch)
tree212f4c0ca159b124ce185125d839e6f363e88014 /cpp/bindings/qmf
parentf3e97d22e1aa642f237f2a774bc2488ad457c741 (diff)
downloadqpid-python-ac8ea7e7ef33c4f6e0beab1131a66662ca82c8cb.tar.gz
Added limited backtracing for exceptions raised in console callbacks.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@834498 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/bindings/qmf')
-rw-r--r--cpp/bindings/qmf/ruby/qmf.rb9
1 files changed, 7 insertions, 2 deletions
diff --git a/cpp/bindings/qmf/ruby/qmf.rb b/cpp/bindings/qmf/ruby/qmf.rb
index 68a5ae7755..b52f2bce5e 100644
--- a/cpp/bindings/qmf/ruby/qmf.rb
+++ b/cpp/bindings/qmf/ruby/qmf.rb
@@ -865,6 +865,7 @@ module Qmf
@sync_count = nil
@sync_result = nil
@select = []
+ @bt_count = 0
@cb_cond = new_cond
@cb_thread = Thread.new do
run_cb_thread
@@ -1061,8 +1062,12 @@ module Qmf
@handler.agent_heartbeat(AgentProxy.new(@event.agent, nil), @event.timestamp) if @handler
when Qmfengine::ConsoleEvent::METHOD_RESPONSE
end
- rescue
- puts "Exception caught in callback thread: #{$!}"
+ rescue Exception => ex
+ puts "Exception caught in callback: #{ex}"
+ if @bt_count < 2
+ puts ex.backtrace
+ @bt_count += 1
+ end
end
@impl.popEvent
valid = @impl.getEvent(@event)