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);
       }
 

Reply via email to