Thu Nov 13 07:57:30 PST 2008  Simon Marlow <[EMAIL PROTECTED]>
  * Fix an extremely subtle deadlock bug on x86_64
  The recent_activity flag was an unsigned int, but we sometimes do a
  64-bit xchg() on it, which overwrites the next word in memory.  This
  happened to contain the sched_state flag, which is used to control the
  orderly shutdown of the system.  If the xchg() happened during
  shutdown, the scheduler would get confused and deadlock.  Don't you
  just love C?

    M ./rts/Schedule.c -3 +5
    M ./rts/Schedule.h -2 +2

View patch online:
http://darcs.haskell.org/ghc-6.10/ghc/_darcs/patches/20081113155730-12142-ad4c517c193a7e27450a0c4bbd58fe5cd75ed719.gz

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

Reply via email to