From e277b6154d30489ad7ae1c6772db1c02c4038431 Mon Sep 17 00:00:00 2001 From: Matt Birkholz Date: Tue, 16 Jun 2015 19:21:19 -0700 Subject: [PATCH] Remove without-interrupts from runtime/rbtree.scm. It was only used to postpone aborts that would leave data structures inconsistent. --- src/runtime/rbtree.scm | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/runtime/rbtree.scm b/src/runtime/rbtree.scm index c10daa52b..51a7e6593 100644 --- a/src/runtime/rbtree.scm +++ b/src/runtime/rbtree.scm @@ -128,7 +128,7 @@ USA. (let loop ((x (tree-root tree)) (y #f) (d #f)) (cond ((not x) (let ((z (make-node key datum))) - (without-interrupts + (without-interruption (lambda () (set-node-up! z y) (cond ((not y) (set-tree-root! tree z)) @@ -176,12 +176,6 @@ USA. ((null? alist)) (rb-tree/insert! tree (caar alist) (cdar alist))) tree)) - -(define-integrable (without-interrupts thunk) - (let ((interrupt-mask (set-interrupt-enables! interrupt-mask/gc-ok))) - (thunk) - (set-interrupt-enables! interrupt-mask) - unspecific)) (define (rb-tree/delete! tree key) (guarantee-rb-tree tree 'RB-TREE/DELETE!) @@ -194,7 +188,7 @@ USA. (else (loop (node-right x))))))) (define (delete-node! tree z) - (without-interrupts + (without-interruption (lambda () (let ((z (if (and (node-left z) (node-right z)) -- 2.25.1