
#11713: STM Finalizers -------------------------------------+------------------------------------- Reporter: mc.schroeder | Owner: mc.schroeder Type: feature request | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 8.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D2011 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonmar): This looks like a big extra burden on the implementation - an extra field in every TVar, two fields in the atomically frame, and lots of complexity. I'd really rather avoid this if we can. e.g. for serialization, I would do it exactly the way that Simon suggests, the transaction should add its serialization instructions to a TQueue or something that is processed by a separate thread. If you want to also have the current thread wait until the serialization has completed, then you can program that too using a TVar. This also allows more concurrency than your finalizer, because it doesn't have to freeze any TVars. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11713#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler