projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use -W, not -Werror, for gcc older than 3.4
[ghc-hetmet.git]
/
rts
/
Exception.cmm
diff --git
a/rts/Exception.cmm
b/rts/Exception.cmm
index
16b5d92
..
cd3f2bc
100644
(file)
--- a/
rts/Exception.cmm
+++ b/
rts/Exception.cmm
@@
-49,6
+49,8
@@
import ghczmprim_GHCziBool_True_closure;
-------------------------------------------------------------------------- */
-------------------------------------------------------------------------- */
+STRING(stg_unblockAsync_err_str, "unblockAsyncExceptions#_ret")
+
INFO_TABLE_RET( stg_unblockAsyncExceptionszh_ret, RET_SMALL )
{
CInt r;
INFO_TABLE_RET( stg_unblockAsyncExceptionszh_ret, RET_SMALL )
{
CInt r;
@@
-81,6
+83,14
@@
INFO_TABLE_RET( stg_unblockAsyncExceptionszh_ret, RET_SMALL )
jump %ENTRY_CODE(Sp(0));
}
}
jump %ENTRY_CODE(Sp(0));
}
}
+ else {
+ /*
+ the thread might have been removed from the
+ blocked_exception list by someone else in the meantime.
+ Just restore the stack pointer and continue.
+ */
+ Sp_adj(2);
+ }
}
Sp_adj(1);
}
Sp_adj(1);