From: Matt Birkholz Date: Wed, 17 Jun 2015 02:21:19 +0000 (-0700) Subject: Remove without-interrupts from runtime/rbtree.scm. X-Git-Tag: mit-scheme-pucked-9.2.12~376^2~54 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=428f61a8e7838feb3b9971520590f0901084c90f;p=mit-scheme.git Remove without-interrupts from runtime/rbtree.scm. It was only used to postpone aborts that would leave data structures inconsistent. --- 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))