projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6ea3a1a
)
FIX #1450: asynchronous exceptions are now printed by +RTS -xc
author
Simon Marlow
<simonmar@microsoft.com>
Thu, 18 Oct 2007 13:49:51 +0000
(13:49 +0000)
committer
Simon Marlow
<simonmar@microsoft.com>
Thu, 18 Oct 2007 13:49:51 +0000
(13:49 +0000)
rts/RaiseAsync.c
patch
|
blob
|
history
diff --git
a/rts/RaiseAsync.c
b/rts/RaiseAsync.c
index
bb244d8
..
73c4429
100644
(file)
--- a/
rts/RaiseAsync.c
+++ b/
rts/RaiseAsync.c
@@
-17,6
+17,7
@@
#include "Updates.h"
#include "STM.h"
#include "Sanity.h"
#include "Updates.h"
#include "STM.h"
#include "Sanity.h"
+#include "Profiling.h"
#if defined(mingw32_HOST_OS)
#include "win32/IOManager.h"
#endif
#if defined(mingw32_HOST_OS)
#include "win32/IOManager.h"
#endif
@@
-852,6
+853,18
@@
raiseAsync(Capability *cap, StgTSO *tso, StgClosure *exception,
debugTrace(DEBUG_sched,
"raising exception in thread %ld.", (long)tso->id);
debugTrace(DEBUG_sched,
"raising exception in thread %ld.", (long)tso->id);
+#if defined(PROFILING)
+ /*
+ * Debugging tool: on raising an exception, show where we are.
+ * See also Exception.cmm:raisezh_fast.
+ * This wasn't done for asynchronous exceptions originally; see #1450
+ */
+ if (RtsFlags.ProfFlags.showCCSOnException)
+ {
+ fprintCCS_stderr(tso->prof.CCCS);
+ }
+#endif
+
// mark it dirty; we're about to change its stack.
dirtyTSO(tso);
// mark it dirty; we're about to change its stack.
dirtyTSO(tso);