[GHC] #10841: Run handler on STM retry
GHC
ghc-devs at haskell.org
Fri Sep 4 18:51:25 UTC 2015
#10841: Run handler on STM retry
-------------------------------------+-------------------------------------
Reporter: shlevy | Owner:
Type: feature | Status: new
request |
Priority: normal | Milestone:
Component: libraries | Version: 7.10.2
(other) |
Keywords: stm | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Revisions: |
-------------------------------------+-------------------------------------
It would be nice to have a function like:
{{{#!hs
-- | Perform a series of STM actions atomically.
--
-- Whenever the transaction retries, run the handler. If it doesn't
return 'Nothing',
-- stop the retrying and return the value given by the handler.
atomicallyWithRetryHandler :: STM a -> IO (Maybe a) -> IO a
}}}
This would allow tracking retry statistics, printing debug messages on
each retry, etc. without resorting to unsafeIOToSTM which can't safely do
things like printing.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10841>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list