Speedup from avoiding uselessly enqueueing an empty work queue

This commit is contained in:
Tony Garnock-Jones 2018-04-30 11:19:03 +01:00
parent 0e37037b6e
commit 671e9742c7
1 changed files with 6 additions and 5 deletions

View File

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