From ac8ea7e7ef33c4f6e0beab1131a66662ca82c8cb Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Tue, 10 Nov 2009 15:25:30 +0000 Subject: 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 --- cpp/bindings/qmf/ruby/qmf.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'cpp') 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) -- cgit v1.2.1