Multi-threaded access to the chain of waiters is already adequately
serialized by the condition-variable.lock. Without-interrupts was
only intended to postpone aborts that would leave a doubly-linked
chain without a complete pair of links.
(assert (not (eq? tail previous)))
(assert (eq? tail (waiter.next previous)))
;; Commit the changes all together or not at all.
- (without-interrupts
+ (without-interruption
(lambda ()
(set-waiter.previous! tail waiter)
(set-waiter.next! previous waiter)
(assert (eq? waiter (waiter.next previous)))
(assert (eq? waiter (waiter.previous next)))
;; Commit the changes all together or not at all.
- (without-interrupts
+ (without-interruption
(lambda ()
(set-waiter.next! previous next)
(set-waiter.previous! next previous)