projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Monadify typecheck/TcEnv: use do, return, applicative, standard monad functions
[ghc-hetmet.git]
/
rts
/
Exception.cmm
diff --git
a/rts/Exception.cmm
b/rts/Exception.cmm
index
6815b79
..
39a2aba
100644
(file)
--- a/
rts/Exception.cmm
+++ b/
rts/Exception.cmm
@@
-214,6
+214,11
@@
killThreadzh_fast
* If the exception went to a catch frame, we'll just continue from
* the handler.
*/
* If the exception went to a catch frame, we'll just continue from
* the handler.
*/
+ loop:
+ if (StgTSO_what_next(target) == ThreadRelocated::I16) {
+ target = StgTSO_link(target);
+ goto loop;
+ }
if (target == CurrentTSO) {
SAVE_THREAD_STATE();
/* ToDo: what if the current thread is blocking exceptions? */
if (target == CurrentTSO) {
SAVE_THREAD_STATE();
/* ToDo: what if the current thread is blocking exceptions? */