Compare commits

...

2 commits

Author SHA1 Message Date
3eba6fc820 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.
2025-11-24 21:54:00 +00:00
d07e309566 Fix a bug with resource pool idle checking
The fiber would never finish.
2025-11-24 17:06:27 +00:00
2 changed files with 517 additions and 537 deletions

File diff suppressed because it is too large Load diff

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