summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rts/sm/Storage.c2
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);