At Fri, 17 Oct 2014 15:22:06 -0400, Asumu Takikawa wrote: > It appears that finalizers for register-finalizer are run in a special > thread that has an empty thread cell table, but it seems like this makes > certain parameters like `current-output-port` return #f instead of the > documented value. > > Is that the expected behavior?
It's not great that contracts are violated, but I think it's justified on the grounds that `register-finalizer` is in the unsafe world, and a finalizer procedure should not use any parameter except `current-logger`. The documentation's "should generally not rely on the environment of the triggering thread" should be strengthened to say that all bets are off if you use a parameter other than `current-logger`. ____________________ Racket Users list: http://lists.racket-lang.org/users

