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:
parent
a6c96aa1da
commit
3aab1be1e7
1 changed files with 11 additions and 13 deletions
|
@ -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."
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue