Rework the resource pool implementations
Some checks are pending
/ test (push) Waiting to run

Don't rely on resource equality for keeping track of resources and
make some other tweaks.
This commit is contained in:
Christopher Baines 2025-11-24 21:54:00 +00:00
parent d07e309566
commit 3eba6fc820
2 changed files with 507 additions and 534 deletions

View file

@ -1,9 +1,33 @@
(use-modules (tests)
(fibers)
(fibers channels)
(unit-test)
(knots parallelism)
(knots resource-pool))
(run-fibers-for-tests
(lambda ()
(let ((parallelism-limiter (make-parallelism-limiter
1)))
(with-parallelism-limiter parallelism-limiter
#f)
(destroy-parallelism-limiter parallelism-limiter))))
(run-fibers-for-tests
(lambda ()
(let ((parallelism-limiter (make-parallelism-limiter
1))
(channel
(make-channel)))
(spawn-fiber
(lambda ()
(with-parallelism-limiter parallelism-limiter
(put-message channel #t)
(sleep 1))))
(get-message channel)
(destroy-parallelism-limiter parallelism-limiter))))
(define new-number
(let ((val 0))
(lambda ()