diff options
| author | Ted Ross <tross@apache.org> | 2009-11-10 15:25:30 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2009-11-10 15:25:30 +0000 |
| commit | ac8ea7e7ef33c4f6e0beab1131a66662ca82c8cb (patch) | |
| tree | 212f4c0ca159b124ce185125d839e6f363e88014 /cpp/bindings/qmf | |
| parent | f3e97d22e1aa642f237f2a774bc2488ad457c741 (diff) | |
| download | qpid-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.rb | 9 |
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) |
