diff options
author | Ian Lynagh <igloo@earth.li> | 2006-12-15 21:44:30 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2006-12-15 21:44:30 +0000 |
commit | ed12b7043fa98928f75c289a756fbcef546315f8 (patch) | |
tree | 1b551d714a16d884843f2d361bcb42ee4c78cccb /rts/Capability.c | |
parent | 1f801e3abd16559f2120b7f482b19deb0c43a0c7 (diff) | |
download | haskell-ed12b7043fa98928f75c289a756fbcef546315f8.tar.gz |
Free more things that we allocate2006-12-16
Diffstat (limited to 'rts/Capability.c')
-rw-r--r-- | rts/Capability.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/rts/Capability.c b/rts/Capability.c index 3d55b421f8..510656f473 100644 --- a/rts/Capability.c +++ b/rts/Capability.c @@ -673,8 +673,7 @@ shutdownCapability (Capability *cap, Task *task) continue; } debugTrace(DEBUG_sched, "capability %d is stopped.", cap->no); - stgFree(cap->mut_lists); - freeSparkPool(&cap->r.rSparks); + freeCapability(cap); RELEASE_LOCK(&cap->lock); break; } @@ -712,4 +711,11 @@ tryGrabCapability (Capability *cap, Task *task) #endif /* THREADED_RTS */ +void +freeCapability (Capability *cap) { + stgFree(cap->mut_lists); +#if defined(THREADED_RTS) || defined(PARALLEL_HASKELL) + freeSparkPool(&cap->r.rSparks); +#endif +} |