Committing code to get nicer tracebacks for errors, also we no longer consider such errors fatal (probably a bad thing, I know...)

Sat, 08 Nov 2008 20:42:23 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Sat, 08 Nov 2008 20:42:23 +0000
changeset 226
ba4711c4e8d2
parent 225
bbbd169b326b
child 227
211c2e04c82b

Committing code to get nicer tracebacks for errors, also we no longer consider such errors fatal (probably a bad thing, I know...)

net/xmppclient_listener.lua file | annotate | diff | comparison | revisions
net/xmppserver_listener.lua file | annotate | diff | comparison | revisions
--- a/net/xmppclient_listener.lua	Sat Nov 08 20:39:08 2008 +0000
+++ b/net/xmppclient_listener.lua	Sat Nov 08 20:42:23 2008 +0000
@@ -60,7 +60,12 @@
 		-- TODO: Below function should be session,stanza - and xmlhandlers should use :method() notation to call,
 		-- this will avoid the useless indirection we have atm
 		-- (I'm on a mission, no time to fix now)
-		session.stanza_dispatch = function (stanza) return core_process_stanza(session, stanza); end
+
+		-- Debug version --
+		local function handleerr() print("Traceback:", debug.traceback()); end
+		session.stanza_dispatch = function (stanza) return select(2, xpcall(function () return core_process_stanza(session, stanza); end, handleerr));  end
+
+--		session.stanza_dispatch = function (stanza) return core_process_stanza(session, stanza); end
 
 	end
 	if data then
--- a/net/xmppserver_listener.lua	Sat Nov 08 20:39:08 2008 +0000
+++ b/net/xmppserver_listener.lua	Sat Nov 08 20:42:23 2008 +0000
@@ -62,7 +62,12 @@
 		-- FIXME: Below function should be session,stanza - and xmlhandlers should use :method() notation to call,
 		-- this will avoid the useless indirection we have atm
 		-- (I'm on a mission, no time to fix now)
-		session.stanza_dispatch = function (stanza) return core_process_stanza(session, stanza); end
+
+		-- Debug version --
+		local function handleerr() print("Traceback:", debug.traceback()); end
+		session.stanza_dispatch = function (stanza) return select(2, xpcall(function () return core_process_stanza(session, stanza); end, handleerr));  end
+
+--		session.stanza_dispatch = function (stanza) return core_process_stanza(session, stanza); end
 
 	end
 	if data then
@@ -100,4 +105,4 @@
 -- We also need to perform that same initialisation at other points (SASL, TLS, ...)
 
 -- ...and we need to handle data
--- ...and record all sessions associated with connections
\ No newline at end of file
+-- ...and record all sessions associated with connections

mercurial