Never mind, I can probably use an MVar to work around this... Robert Robert van Herk wrote:
Hello All,
I think I've read somewhere that STM doesn't like unsafePerformIO. However, I would like to use a global STM variable. Something like this:
module Main where import GHC.Conc import System.IO.Unsafe
tSid = unsafePerformIO (atomically (newTVar 0))
tickSessionID :: STM Int tickSessionID = do sid <- readTVar tSid writeTVar tSid (sid + 1) return sid
main = atomically tickSessionID
But, when I try this, the evaluation of main causes a segmentation fault. Is there a workaround for this bug?
Regards, Robert _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users