fix cs-hx message handling; actor: trying to improve error handling
This commit is contained in:
parent
c3afd20f5f
commit
87afabd467
2 changed files with 9 additions and 5 deletions
|
@ -53,16 +53,20 @@
|
|||
(defgeneric ac-loop (tsk bhv)
|
||||
(:method ((tsk async:task) bhv)
|
||||
(let ((msg (async:rcv tsk)))
|
||||
(unless (eq (content msg) +quit-message+)
|
||||
(ac-step tsk bhv msg)
|
||||
(unless (eq (ac-step tsk bhv msg) +quit-message+)
|
||||
(ac-loop tsk (async:behavior tsk))))))
|
||||
|
||||
(defun ac-step (tsk bhv msg)
|
||||
(when (eq (content msg) +quit-message+)
|
||||
(return-from ac-step +quit-message+))
|
||||
(let ((*self* tsk))
|
||||
(handler-case (funcall bhv msg)
|
||||
(condition (err)
|
||||
(invoke-debugger err)
|
||||
(util:lg :error "behavior" msg err)
|
||||
+quit-message+)
|
||||
(error (err)
|
||||
(invoke-debugger err)
|
||||
;(util:lg :error "behavior" msg err)
|
||||
))))
|
||||
|
||||
;;;; the core (classical, i.e. Hewitt) actor API
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
(defmethod response:render-content ((resp response) msg)
|
||||
;(dom:render (dom:dlist nil (shape:data msg))))
|
||||
(let ((tmpl (gethash (shape:head-value msg :action) *templates*)))
|
||||
(let ((tmpl (or (gethash (shape:head-value msg :action) *templates*) #'view)))
|
||||
(dom:render (funcall tmpl resp msg))))
|
||||
|
||||
(defun view (resp msg)
|
||||
|
|
Loading…
Add table
Reference in a new issue