Revert "Use module-ref for make-base-operation"

This isn't working, with make-base-operation changing from part of a
macro to a procedure, I'm not sure how to maintain compatability. I
think just switching to guile-fibers-next everywhere is the approach
to take.

This reverts commit f41d1853ce.
This commit is contained in:
Christopher Baines 2025-03-04 14:09:31 +00:00
parent a6c96aa1da
commit 3aab1be1e7

View file

@ -119,19 +119,17 @@
(define (make-wait-operation ready? schedule-when-ready port (define (make-wait-operation ready? schedule-when-ready port
port-ready-fd this-procedure) port-ready-fd this-procedure)
((module-ref (resolve-interface '(fibers operations)) (make-base-operation #f
'make-base-operation) (lambda _
#f (and (ready? port) values))
(lambda _ (lambda (flag sched resume)
(and (ready? port) values)) (define (commit)
(lambda (flag sched resume) (match (atomic-box-compare-and-swap! flag 'W 'S)
(define (commit) ('W (resume values))
(match (atomic-box-compare-and-swap! flag 'W 'S) ('C (commit))
('W (resume values)) ('S #f)))
('C (commit)) (schedule-when-ready
('S #f))) sched (port-ready-fd port) commit))))
(schedule-when-ready
sched (port-ready-fd port) commit))))
(define (wait-until-port-readable-operation port) (define (wait-until-port-readable-operation port)
"Make an operation that will succeed when PORT is readable." "Make an operation that will succeed when PORT is readable."