diff options
author | Simon Marlow <marlowsd@gmail.com> | 2009-12-03 11:02:09 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2009-12-03 11:02:09 +0000 |
commit | 8bc3f02844342419a9c6fe29afe6ab2f07acfb1e (patch) | |
tree | 7bb2fd2587591a73afa4e059f4c31c351eb5e2a9 | |
parent | c17eee4d8d25dafa1f8207e6c04ad2f9192b7a01 (diff) | |
download | haskell-8bc3f02844342419a9c6fe29afe6ab2f07acfb1e.tar.gz |
add a missing lock around allocGroup()
-rw-r--r-- | rts/sm/Storage.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/rts/sm/Storage.c b/rts/sm/Storage.c index 0f74893837..94f9e10b9f 100644 --- a/rts/sm/Storage.c +++ b/rts/sm/Storage.c @@ -631,7 +631,9 @@ allocate (Capability *cap, lnat n) stp = &nurseries[cap->no]; + ACQUIRE_SM_LOCK bd = allocGroup(req_blocks); + RELEASE_SM_LOCK; dbl_link_onto(bd, &stp->large_objects); stp->n_large_blocks += bd->blocks; // might be larger than req_blocks initBdescr(bd, stp); |