diff --git a/syndicate/dataspace.rkt b/syndicate/dataspace.rkt index 052386e..3d52d52 100644 --- a/syndicate/dataspace.rkt +++ b/syndicate/dataspace.rkt @@ -335,11 +335,12 @@ (when new-handler (dataspace-subscribe! ds new-handler))))))))) (define (commit-actions! ds ac) - (define pending (actor-pending-actions ac)) - ;; (log-info "commit-actions!: ~a actions ~a" ac (queue->list pending)) - (set-dataspace-pending-actions! ds (enqueue (dataspace-pending-actions ds) - (action-group ac (queue->list pending)))) - (set-actor-pending-actions! ac (make-queue))) + (define pending (queue->list (actor-pending-actions ac))) + ;; (log-info "commit-actions!: ~a actions ~a" ac pending) + (when (pair? pending) + (set-actor-pending-actions! ac (make-queue)) + (set-dataspace-pending-actions! ds (enqueue (dataspace-pending-actions ds) + (action-group ac pending))))) (define (run-all-pending-scripts! ds) (define runnable (dataspace-runnable ds))