[Haskell-cafe] Re: how to implement daemon start and stop
directives?
Gleb Alexeyev
gleb.alexeev at gmail.com
Fri Jan 23 12:39:57 EST 2009
Ertugrul Soeylemez wrote:
> And to prove that IORefs do lead to a pointer race condition and hence
> are insecure, try the following code:
>
> main :: IO ()
> main = do
> ref <- newIORef False
> forkIO $ forever $ modifyIORef ref not
> forever $ readIORef ref >>= print
>
> It crashes for me. I'm using GHC 6.10.1 on an Athlon 64 X2 (32 bits
> system). The error message reads:
>
> test: internal error: schedule: invalid what_next field
> (GHC version 6.10.1 for i386_unknown_linux)
> Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
Interesting. Looks like a bug in the single-threaded runtime to me: I
can reproduce this crash only when compiling without the `-threaded' flag.
More information about the Haskell-Cafe
mailing list