X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=server.lisp;h=e3c6775356f849d7b66d262c3cc794a5aafc26b1;hb=4545c194136bd916c6fd240a148804c5cccfec63;hp=1d27de4d40a3c1ebeb7d44dbba9af35ea26c5ac6;hpb=cb60460c044d8e4c1270b30acd43853ef4ef8f94;p=cl-modlisp.git diff --git a/server.lisp b/server.lisp index 1d27de4..e3c6775 100644 --- a/server.lisp +++ b/server.lisp @@ -23,14 +23,16 @@ (setf (slot-value self 'thread-fun) #'(lambda () (unwind-protect - (handler-case - (apply (listener-function listener) - connection - (function-args listener)) - (error (e) - (cmsg "Error ~A [~A]" e name) - (error e) - )) + (if (catch-errors listener) + (handler-case + (apply (listener-function listener) + connection + (function-args listener)) + (error (e) + (cmsg "Error ~A [~A]" e name))) + (apply (listener-function listener) + connection + (function-args listener))) (progn (errorset (close-active-socket connection) nil) (cmsg-c :threads "~A ended" name)