added a guard against recursive calls to exit

original commit: 04791041223649bcbbd1acadd82df376341fa745
This commit is contained in:
Robby Findler 1996-11-12 17:02:29 +00:00
parent bd2b320134
commit c03c506456

View File

@ -33,6 +33,11 @@
[else (loop (cdr cb-list))]))))) [else (loop (cdr cb-list))])))))
(define -exit (define -exit
(let ([exiting? #f])
(lambda ()
(unless exiting?
(dynamic-wind
(lambda () (set! exiting? #t))
(lambda () (lambda ()
(let/ec k (let/ec k
(when (and (mred:preferences:get-preference 'mred:verify-exit) (when (and (mred:preferences:get-preference 'mred:verify-exit)
@ -48,8 +53,8 @@
(k #f)) (k #f))
(run-exit-callbacks) (run-exit-callbacks)
(if (null? exit-callbacks) (if (null? exit-callbacks)
(begin (when mred:debug:exit? (exit)
(exit)) #f)))
#t) (lambda () (set! exiting? #f)))))))))
#f))))))