diff options
| -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) |
