Tue Feb 16 04:34:11 PST 2010  Simon Marlow <[email protected]>
  * Fix a bug that can lead to noDuplicate# not working sometimes.
  
  The symptom is that under some rare conditions when running in
  parallel, an unsafePerformIO or unsafeInterleaveIO computation might
  be duplicated, so e.g. lazy I/O might give the wrong answer (the
  stream might appear to have duplicate parts or parts missing).
  
  I have a program that demonstrates it -N3 or more, some lazy I/O, and
  a lot of shared mutable state.  See the comment with stg_noDuplicatezh
  in PrimOps.cmm that explains the problem and the fix.  This took me
  about a day to find :-(

    M ./rts/PrimOps.cmm -8 +71

View patch online:
http://darcs.haskell.org/ghc-6.12/ghc/_darcs/patches/20100216123411-12142-ef26bfaf1f8faf38c895eda0db121bd91c7a773a.gz

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to