summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)