No, use the safe "will executors" API, instead.

The unsafe finalizer API is for low-level, atomic finalization. Closing a port 
can flush buffers and more, and it's not a good idea to do that in an unsafe 
atomic context.

> On Aug 2, 2014, at 11:12 AM, Roman Klochkov <[email protected]> wrote:
> 
> I have a structure, that has a filestream inside it. File have to be cosed, 
> when the structure is not used anymore (so gargbage collected).
> 
> Is the best way to do
> (require ffi/unsafe)
> (register-finalizer my-obj
>    (lambda (x) (close-output-port (obj-file x))))
> 
> ?
> 
> It seems doing right thing, but why `ffi/unsafe'? Is it OK, when my program 
> actually doesn't use FFI?
> 
> 
> -- 
> Roman Klochkov
> ____________________
>  Racket Users list:
>  http://lists.racket-lang.org/users

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to