projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use n-ary sums and products for NDP's generic representation
[ghc-hetmet.git]
/
rts
/
Schedule.c
diff --git
a/rts/Schedule.c
b/rts/Schedule.c
index
f3d956a
..
afd8c28
100644
(file)
--- a/
rts/Schedule.c
+++ b/
rts/Schedule.c
@@
-7,6
+7,7
@@
* --------------------------------------------------------------------------*/
#include "PosixSource.h"
* --------------------------------------------------------------------------*/
#include "PosixSource.h"
+#define KEEP_LOCKCLOSURE
#include "Rts.h"
#include "SchedAPI.h"
#include "RtsUtils.h"
#include "Rts.h"
#include "SchedAPI.h"
#include "RtsUtils.h"
@@
-1813,9
+1814,6
@@
scheduleHandleThreadFinished (Capability *cap STG_UNUSED, Task *task, StgTSO *t)
debugTrace(DEBUG_sched, "--++ thread %lu (%s) finished",
(unsigned long)t->id, whatNext_strs[t->what_next]);
debugTrace(DEBUG_sched, "--++ thread %lu (%s) finished",
(unsigned long)t->id, whatNext_strs[t->what_next]);
- /* Inform the Hpc that a thread has finished */
- hs_hpc_thread_finished_event(t);
-
#if defined(GRAN)
endThread(t, CurrentProc); // clean-up the thread
#elif defined(PARALLEL_HASKELL)
#if defined(GRAN)
endThread(t, CurrentProc); // clean-up the thread
#elif defined(PARALLEL_HASKELL)
@@
-2579,7
+2577,8
@@
initScheduler(void)
}
void
}
void
-exitScheduler( void )
+exitScheduler( rtsBool wait_foreign )
+ /* see Capability.c, shutdownCapability() */
{
Task *task = NULL;
{
Task *task = NULL;
@@
-2601,7
+2600,7
@@
exitScheduler( void )
nat i;
for (i = 0; i < n_capabilities; i++) {
nat i;
for (i = 0; i < n_capabilities; i++) {
- shutdownCapability(&capabilities[i], task);
+ shutdownCapability(&capabilities[i], task, wait_foreign);
}
boundTaskExiting(task);
stopTaskManager();
}
boundTaskExiting(task);
stopTaskManager();