Simon Marlow wrote: > On 20/06/2009 21:46, Ganesh Sittampalam wrote: > >> If I'm right, is it really sensible for every handle to have this >> finalizer? Closing a pipe has externally visible side effects beyond >> just the release of resources, so it doesn't seem like it should >> happen non-deterministically. > > Interesting example. So what should we do? Don't finalize an FD if > it might have an externally visible effect? That seems a bit > extreme.
I'm not really sure what to do either, otherwise I'd have suggested something concrete in my first email :-) One problem is that any move away from having the finalizer on every handle could easily lead to much more confusion than the current sitation. I guess an important question is what the benefits of having the finalizer are. Presumably it really is needed in the hGetContents case, since users should be able to just drop the lazy stream and have everything associated with it go away. Since other file operations are done eagerly, isn't it also reasonable to expect the user to exert explicit control over the handle in those cases? Cheers, Ganesh =============================================================================== Please access the attached hyperlink for an important electronic communications disclaimer: http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html =============================================================================== _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users