Compare commits

..

No commits in common. "a8e07b738b558d701c6de1f5ee6452ee4095198e" and "8100d36aa5bebb6c6fab114ae5595ace2be43b2e" have entirely different histories.

2 changed files with 9 additions and 42 deletions

View file

@ -391,7 +391,7 @@
(('list-resources reply) (('list-resources reply)
(spawn-fiber (spawn-fiber
(lambda () (lambda ()
(put-message reply (vector->list resources)))) (put-message reply (list-copy resources))))
(loop available (loop available
waiters)) waiters))
@ -967,9 +967,7 @@
(('list-resources reply) (('list-resources reply)
(spawn-fiber (spawn-fiber
(lambda () (lambda ()
(put-message reply (hash-map->list (put-message reply (list-copy resources))))
(lambda (_ value) value)
resources))))
(loop next-resource-id (loop next-resource-id
available available
@ -1117,14 +1115,13 @@
(lambda () (lambda ()
(let loop () (let loop ()
(put-message channel '(check-for-idle-resources)) (put-message channel '(check-for-idle-resources))
(when (perform-operation (when (choice-operation
(choice-operation (wrap-operation
(wrap-operation (sleep-operation idle-seconds)
(sleep-operation idle-seconds) (const #t))
(const #t)) (wrap-operation
(wrap-operation (wait-operation destroy-condition)
(wait-operation destroy-condition) (const #f)))
(const #f))))
(loop)))))) (loop))))))
(with-exception-handler (with-exception-handler

View file

@ -252,34 +252,4 @@
(destroy-resource-pool resource-pool)))) (destroy-resource-pool resource-pool))))
;; Test allocating resources to waiters and destroying resources
(run-fibers-for-tests
(lambda ()
(let ((resource-pool (make-resource-pool
(lambda ()
(sleep 1)
'res)
2
#:idle-seconds 1
#:add-resources-parallelism 10
#:destructor
(const #t))))
(fibers-for-each
(lambda _
(with-resource-from-pool resource-pool
res
res))
(iota 20))
(sleep 2)
(fibers-for-each
(lambda _
(with-resource-from-pool resource-pool
res
res))
(iota 20))
(destroy-resource-pool resource-pool))))
(display "resource-pool test finished successfully\n") (display "resource-pool test finished successfully\n")