X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FSchedule.c;h=afd8c28a08a65f6a7e6127cc2c22915c50ef7d64;hb=006a18ea83799c0d4255071a2f8c08d3e9c7d84f;hp=c61287f9f9ecb530282e2124a754826d15e2759b;hpb=5598dbc2d946f94ec4253450987d7a56336ef54a;p=ghc-hetmet.git diff --git a/rts/Schedule.c b/rts/Schedule.c index c61287f..afd8c28 100644 --- a/rts/Schedule.c +++ b/rts/Schedule.c @@ -7,6 +7,7 @@ * --------------------------------------------------------------------------*/ #include "PosixSource.h" +#define KEEP_LOCKCLOSURE #include "Rts.h" #include "SchedAPI.h" #include "RtsUtils.h" @@ -2576,7 +2577,8 @@ initScheduler(void) } void -exitScheduler( void ) +exitScheduler( rtsBool wait_foreign ) + /* see Capability.c, shutdownCapability() */ { Task *task = NULL; @@ -2598,7 +2600,7 @@ exitScheduler( void ) nat i; for (i = 0; i < n_capabilities; i++) { - shutdownCapability(&capabilities[i], task); + shutdownCapability(&capabilities[i], task, wait_foreign); } boundTaskExiting(task); stopTaskManager();