(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)