projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Updating rix output to new standard.
[ghc-hetmet.git]
/
rts
/
RaiseAsync.c
diff --git
a/rts/RaiseAsync.c
b/rts/RaiseAsync.c
index
c0cfd7b
..
d555953
100644
(file)
--- a/
rts/RaiseAsync.c
+++ b/
rts/RaiseAsync.c
@@
-13,11
+13,13
@@
#include "RaiseAsync.h"
#include "SMP.h"
#include "Schedule.h"
#include "RaiseAsync.h"
#include "SMP.h"
#include "Schedule.h"
-#include "Storage.h"
#include "LdvProfile.h"
#include "Updates.h"
#include "STM.h"
#include "Sanity.h"
#include "LdvProfile.h"
#include "Updates.h"
#include "STM.h"
#include "Sanity.h"
+#if defined(mingw32_HOST_OS)
+#include "win32/IOManager.h"
+#endif
static void raiseAsync (Capability *cap,
StgTSO *tso,
static void raiseAsync (Capability *cap,
StgTSO *tso,
@@
-435,6
+437,9
@@
check_target:
case BlockedOnRead:
case BlockedOnWrite:
case BlockedOnDelay:
case BlockedOnRead:
case BlockedOnWrite:
case BlockedOnDelay:
+#if defined(mingw32_HOST_OS)
+ case BlockedOnDoProc:
+#endif
if ((target->flags & TSO_BLOCKEX) &&
((target->flags & TSO_INTERRUPTIBLE) == 0)) {
blockedThrowTo(source,target);
if ((target->flags & TSO_BLOCKEX) &&
((target->flags & TSO_INTERRUPTIBLE) == 0)) {
blockedThrowTo(source,target);
@@
-1014,6
+1019,7
@@
raiseAsync(Capability *cap, StgTSO *tso, StgClosure *exception,
StgTRecHeader *trec = tso -> trec;
StgTRecHeader *outer = stmGetEnclosingTRec(trec);
stmAbortTransaction(cap, trec);
StgTRecHeader *trec = tso -> trec;
StgTRecHeader *outer = stmGetEnclosingTRec(trec);
stmAbortTransaction(cap, trec);
+ stmFreeAbortedTRec(cap, trec);
tso -> trec = outer;
break;
tso -> trec = outer;
break;