delay finalizer thread until needed

svn: r2494

original commit: d7d9efb1acedc5e438932decaa21ab1d7e192861
This commit is contained in:
Matthew Flatt 2006-03-24 13:41:41 +00:00
parent 036e11d4be
commit 4bc1b90a7c

View File

@ -1500,8 +1500,10 @@
;; which is not a good idea.
(define killer-executor (make-will-executor))
(define killer-thread
(thread (lambda () (let loop () (will-execute killer-executor) (loop)))))
(delay
(thread (lambda () (let loop () (will-execute killer-executor) (loop))))))
(define* (register-finalizer obj finalizer)
(force killer-thread)
(will-register killer-executor obj finalizer))
(define-unsafer unsafe!)