projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Simplify the type grammar
[ghc-hetmet.git]
/
rts
/
Sparks.c
diff --git
a/rts/Sparks.c
b/rts/Sparks.c
index
3fccdb6
..
7e89d46
100644
(file)
--- a/
rts/Sparks.c
+++ b/
rts/Sparks.c
@@
-57,6
+57,14
@@
createSparkThread (Capability *cap)
tso = createIOThread (cap, RtsFlags.GcFlags.initialStkSize,
&base_GHCziConc_runSparks_closure);
tso = createIOThread (cap, RtsFlags.GcFlags.initialStkSize,
&base_GHCziConc_runSparks_closure);
+
+ if (cap->r.rCurrentTSO != NULL)
+ // Capability in a bound thread?
+ postEvent(cap, EVENT_SPARK_TO_THREAD, cap->r.rCurrentTSO->id, tso->id);
+ else
+ // Capability in a worker thread?
+ postEvent(cap, EVENT_SPARK_TO_THREAD, 0, tso->id);
+
appendToRunQueue(cap,tso);
}
appendToRunQueue(cap,tso);
}
@@
-83,6
+91,8
@@
newSpark (StgRegTable *reg, StgClosure *p)
cap->sparks_created++;
cap->sparks_created++;
+ postEvent(cap, EVENT_CREATE_SPARK, cap->r.rCurrentTSO->id, 0);
+
return 1;
}
return 1;
}