summaryrefslogtreecommitdiff
path: root/rts/RaiseAsync.c
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2012-01-06 10:19:37 +0000
committerSimon Marlow <marlowsd@gmail.com>2012-01-06 11:31:34 +0000
commit48a5a53478da1b248544c66e373e8299c305aea8 (patch)
treef2187e6931f75164d9edb5fe467519d13329ef21 /rts/RaiseAsync.c
parent155ce292c6a057b6338e9baa2affb93d1eebb465 (diff)
downloadhaskell-48a5a53478da1b248544c66e373e8299c305aea8.tar.gz
Fix crash with +RTS -xc (occasional cgrun057(profthreaded) failure)
Don't try to print a stack trace from raiseAsync() when there's no exception - we might just be deleting the thread, or suspending duplicate work.
Diffstat (limited to 'rts/RaiseAsync.c')
-rw-r--r--rts/RaiseAsync.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/RaiseAsync.c b/rts/RaiseAsync.c
index 2887617c34..7b7fef1f8c 100644
--- a/rts/RaiseAsync.c
+++ b/rts/RaiseAsync.c
@@ -737,7 +737,7 @@ raiseAsync(Capability *cap, StgTSO *tso, StgClosure *exception,
* See also Exception.cmm:stg_raisezh.
* This wasn't done for asynchronous exceptions originally; see #1450
*/
- if (RtsFlags.ProfFlags.showCCSOnException)
+ if (RtsFlags.ProfFlags.showCCSOnException && exception != NULL)
{
fprintCCS_stderr(tso->prof.cccs,exception,tso);
}