summaryrefslogtreecommitdiff
path: root/fitz/base_memory.c
diff options
context:
space:
mode:
Diffstat (limited to 'fitz/base_memory.c')
-rw-r--r--fitz/base_memory.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fitz/base_memory.c b/fitz/base_memory.c
index c9b94f1e..776bdce6 100644
--- a/fitz/base_memory.c
+++ b/fitz/base_memory.c
@@ -10,7 +10,10 @@ do_scavenging_malloc(fz_context *ctx, unsigned int size)
do {
p = ctx->alloc->malloc(ctx->alloc->user, size);
if (p != NULL)
+ {
+ fz_unlock(ctx);
return p;
+ }
} while (fz_store_scavenge(ctx, size, &phase));
fz_unlock(ctx);
@@ -27,7 +30,10 @@ do_scavenging_realloc(fz_context *ctx, void *p, unsigned int size)
do {
q = ctx->alloc->realloc(ctx->alloc->user, p, size);
if (q != NULL)
+ {
+ fz_unlock(ctx);
return q;
+ }
} while (fz_store_scavenge(ctx, size, &phase));
fz_unlock(ctx);