diff --git a/test/test-core.lisp b/test/test-core.lisp index cecf6a7..877be6b 100644 --- a/test/test-core.lisp +++ b/test/test-core.lisp @@ -86,7 +86,7 @@ (deftest test-util-async () (async:init) - (let ((tsk (async:make-task))) + (let ((tsk (async:make-task :startup (lambda (&rest args) (sleep 0.01))))) (== (async:status tsk) :new) (async:start tsk) (== (async:status tsk) :running) @@ -99,7 +99,7 @@ (== (async:status tsk) :running) (async:send tsk :hello) (== (async:stop tsk) '(:hello)) - (== (async:status tsk) :done) ) + (== (async:status tsk) :done)) (async:finish)) (deftest test-util-crypt () diff --git a/util/async.lisp b/util/async.lisp index 680b883..92dc3e5 100644 --- a/util/async.lisp +++ b/util/async.lisp @@ -38,10 +38,10 @@ until (eq msg +quit-message+) do (funcall handle-message tsk msg)) (sb-sys:interactive-interrupt (e) - (format t "~&async:standard-job: ~a~%" e))))) + (format t "~&async:standard-job: ~a~%" e))) + (data tsk))) (setf (status tsk) :done) - (funcall teardown tsk) - (data tsk)))) + (funcall teardown tsk)))) ;;;; task class and related functions / methods