Compare commits
No commits in common. "a8e07b738b558d701c6de1f5ee6452ee4095198e" and "8100d36aa5bebb6c6fab114ae5595ace2be43b2e" have entirely different histories.
a8e07b738b
...
8100d36aa5
2 changed files with 9 additions and 42 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue