Fix a bug with resource pool idle checking

The fiber would never finish.
This commit is contained in:
Christopher Baines 2025-11-24 17:06:27 +00:00
parent 95200eccfd
commit d07e309566

View file

@ -1178,9 +1178,16 @@
(when idle-seconds
(spawn-fiber
(lambda ()
(while #t
(sleep idle-seconds)
(put-message channel '(check-for-idle-resources))))))
(let loop ()
(put-message channel '(check-for-idle-resources))
(when (choice-operation
(wrap-operation
(sleep-operation idle-seconds)
(const #t))
(wrap-operation
(wait-operation destroy-condition)
(const #f)))
(loop))))))
(with-exception-handler
(lambda (exn)