(let* ((handle (get-handle))
(object (make-object handle)))
(finalize object (lambda () (release-handle handle)))
object)
(let* ((handle (get-handle))
(object (make-object handle)))
(finalize object (lambda () (release-handle handle)))
object)
- ;;; bad, finalizer refers to object being finalized, causing
- ;;; it to be retained indefinitely
+ ;;; BAD, finalizer refers to object being finalized, causing
+ ;;; it to be retained indefinitely!
; -> ERROR, caught, WARNING signalled"
(unless object
(error "Cannot finalize NIL."))
; -> ERROR, caught, WARNING signalled"
(unless object
(error "Cannot finalize NIL."))