From 33900567ab25519b298f8ef1aa0440c054ffb5aa Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Tue, 30 Jan 2024 14:31:25 -0500 Subject: [PATCH] Timeout exception with better backtrace --- lib/session_manager.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/session_manager.rb b/lib/session_manager.rb index 90f6a8e90aed33856f06172cd7e2b82ec9aaf977..b469f3b5ab04e36a0ed6592ab91f48026b01dd15 100644 --- a/lib/session_manager.rb +++ b/lib/session_manager.rb @@ -12,11 +12,12 @@ class SessionManager end def promise_for(stanza, timeout: @timeout) + begin; raise Timeout, "Timeout"; rescue Timeout; timeout_exception = $!; end id = "#{stanza.to.stripped}/#{stanza.public_send(@id_msg)}" @sessions.fetch(id) do @sessions[id] = EMPromise.new EM.add_timer(timeout) do - @sessions.delete(id)&.reject(Timeout.new) + @sessions.delete(id)&.reject(timeout_exception) end @sessions[id] end