[project @ 2000-01-22 18:00:03 by simonmar]
authorsimonmar <unknown>
Sat, 22 Jan 2000 18:00:03 +0000 (18:00 +0000)
committersimonmar <unknown>
Sat, 22 Jan 2000 18:00:03 +0000 (18:00 +0000)
commita1750cd6e46e39fb18cfd9bf490c7f8c3c074a53
treee978ce09ee7bd7b0698442331d17660e3e35f4f6
parentc9dd59345a3b4f36a23c9727a1781d359b9dcecc
[project @ 2000-01-22 18:00:03 by simonmar]
Fix bug in async exception handling: the target TSO may have been
relocated as a result of a stack overflow.

Introduce a new StgTSOWhatNext value "ThreadRelocated", which
indicates that this TSO has moved, and the new location is in the link
field.  The garbage collector shorts these out just like indirections.

We have to check for relocated TSOs in killThread# (and any other
primops which take a ThreadId# as an argument - there aren't any at
present).
ghc/includes/TSO.h
ghc/rts/Exception.hc
ghc/rts/GC.c
ghc/rts/Schedule.c