fix custodian problem with register-finalizer
svn: r14988
This commit is contained in:
parent
e1374bcbd9
commit
070ed03d90
|
@ -1618,9 +1618,11 @@
|
||||||
|
|
||||||
(define* (register-finalizer obj finalizer)
|
(define* (register-finalizer obj finalizer)
|
||||||
(unless killer-thread
|
(unless killer-thread
|
||||||
(set! killer-thread
|
(let ([priviledged-custodian ((get-ffi-obj 'scheme_make_custodian #f (_fun _pointer -> _scheme)) #f)])
|
||||||
(thread (lambda ()
|
(set! killer-thread
|
||||||
(let loop () (will-execute killer-executor) (loop))))))
|
(parameterize ([current-custodian priviledged-custodian])
|
||||||
|
(thread (lambda ()
|
||||||
|
(let loop () (will-execute killer-executor) (loop))))))))
|
||||||
(will-register killer-executor obj finalizer))
|
(will-register killer-executor obj finalizer))
|
||||||
|
|
||||||
(define-unsafer unsafe!)
|
(define-unsafer unsafe!)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user