1(library (nmosh finalizers) 2 (export make-finalizer 3 register-finalizer) 4 (import (mosh ffi) 5 (yuni core) 6 (rnrs) 7 (primitives object->pointer) 8 (prefix (nmosh stubs boehmgc-stubs) stub:)) 9 10(define* finalizer (pointer)) 11 12(define (make-finalizer pointer) 13 (unless (pointer? pointer) 14 (assertion-violation 'make-finalizer 15 "invalid argument" 16 pointer)) 17 (make finalizer (pointer pointer))) 18 19(define* (register-finalizer obj (f finalizer) user-data) 20 (let-with f (pointer) 21 (stub:register_finalizer (object->pointer obj) 22 pointer 23 user-data))) 24 25) 26