cvs commit: fptools/ghc/rts Schedule.c
simonmar at glass.cse.ogi.edu
Thu May 27 11:18:34 EDT 2004
simonmar 2004/05/27 08:18:33 PDT
Fix a nasty bug: when saving errno in the TSO after running a thread,
beware that the TSO might have moved, e.g. if the thread made a safe
foreign call in the threaded RTS and a GC happened.
We have to grab the new location of the TSO *before* saving errno.
MERGE TO STABLE
This was the most interesting bug hunt I've had in a while. The crash
only showed up in about 1 in 4 runs of a program with 1000 Haskell
threads, running on the threaded RTS. To make things worse, gdb
doesn't support watchpoints in programs with multiple threads... :-/
Revision Changes Path
1.197 +16 -5 fptools/ghc/rts/Schedule.c
More information about the Cvs-ghc