wingo pushed a commit to branch wip-whippet in repository guile. commit 7a5c994613363befa8fea5c541e9f6992afd4954 Author: Andy Wingo <wi...@igalia.com> AuthorDate: Thu Jan 23 17:12:34 2025 +0100
lospace: Add missing lock in allocation path --- src/large-object-space.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/large-object-space.h b/src/large-object-space.h index 897a7b9e6..43f2936eb 100644 --- a/src/large-object-space.h +++ b/src/large-object-space.h @@ -425,8 +425,10 @@ large_object_space_alloc(struct large_object_space *space, size_t npages) { struct large_object tail = {node->key.addr + size, node->key.size - size}; struct large_object_data tail_value = {0,}; node->key.size = size; + pthread_mutex_lock(&space->object_tree_lock); struct large_object_node *tail_node = large_object_tree_insert(&space->object_tree, tail, tail_value); + pthread_mutex_unlock(&space->object_tree_lock); large_object_space_add_to_freelist(space, tail_node); }