summaryrefslogtreecommitdiff
path: root/fnlz_mlc.c
diff options
context:
space:
mode:
Diffstat (limited to 'fnlz_mlc.c')
-rw-r--r--fnlz_mlc.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/fnlz_mlc.c b/fnlz_mlc.c
index 6aea12d5..a7db976b 100644
--- a/fnlz_mlc.c
+++ b/fnlz_mlc.c
@@ -129,8 +129,14 @@ GC_API void GC_CALL GC_init_finalized_malloc(void)
GC_generic_malloc_many(GC_RAW_BYTES_FROM_INDEX(lg),
GC_finalized_kind, my_fl);
my_entry = *my_fl;
- if (my_entry == 0)
- return GC_oom_fn(lb);
+ if (my_entry == 0) {
+ GC_oom_func oom_fn;
+
+ LOCK();
+ oom_fn = GC_oom_fn;
+ UNLOCK();
+ return((*oom_fn)(lb));
+ }
}
}