Add fibers-delay/eager
Some checks are pending
/ test (push) Waiting to run

This commit is contained in:
Christopher Baines 2026-01-05 10:44:34 +00:00
parent b6746fffde
commit f38456b4c6

View file

@ -28,6 +28,7 @@
#:export (fibers-promise?
fibers-delay
fibers-delay/eager
fibers-force
fibers-promise-reset
fibers-promise-result-available?))
@ -105,6 +106,20 @@
(raise-exception res)
(apply values res))))))
(define (fibers-delay/eager thunk)
(let ((promise (fibers-delay thunk)))
(spawn-fiber
(lambda ()
(with-exception-handler
(lambda _
;; Silently handle this exception
#f)
(lambda ()
(fibers-force promise))
#:unwind? #t)))
promise))
(define (fibers-promise-reset fp)
(atomic-box-set! (fibers-promise-values-box fp)
#f))