diff options
author | Robin Watts <robin.watts@artifex.com> | 2012-02-13 19:16:54 +0000 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2012-02-13 21:55:59 +0000 |
commit | e9c534aee18fa86a61decb9f7c17b3d28ead94dc (patch) | |
tree | 46a8b53cf678fb1c25d4c58acaf9efa4dd057071 /fitz/base_memory.c | |
parent | caf844b4a585797f38fed59d2d91e853a9a22dba (diff) | |
download | mupdf-e9c534aee18fa86a61decb9f7c17b3d28ead94dc.tar.xz |
Remove STORE lock in favour of smarter use of ALLOC lock.
This simplifies other locking issues (notably freetype).
Diffstat (limited to 'fitz/base_memory.c')
-rw-r--r-- | fitz/base_memory.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/fitz/base_memory.c b/fitz/base_memory.c index a43c06a0..c9ec2628 100644 --- a/fitz/base_memory.c +++ b/fitz/base_memory.c @@ -6,19 +6,16 @@ do_scavenging_malloc(fz_context *ctx, unsigned int size) void *p; int phase = 0; - fz_lock(ctx, FZ_LOCK_STORE); fz_lock(ctx, FZ_LOCK_ALLOC); do { p = ctx->alloc->malloc(ctx->alloc->user, size); if (p != NULL) { fz_unlock(ctx, FZ_LOCK_ALLOC); - fz_unlock(ctx, FZ_LOCK_STORE); return p; } } while (fz_store_scavenge(ctx, size, &phase)); fz_unlock(ctx, FZ_LOCK_ALLOC); - fz_unlock(ctx, FZ_LOCK_STORE); return NULL; } @@ -29,19 +26,16 @@ do_scavenging_realloc(fz_context *ctx, void *p, unsigned int size) void *q; int phase = 0; - fz_lock(ctx, FZ_LOCK_STORE); fz_lock(ctx, FZ_LOCK_ALLOC); do { q = ctx->alloc->realloc(ctx->alloc->user, p, size); if (q != NULL) { fz_unlock(ctx, FZ_LOCK_ALLOC); - fz_unlock(ctx, FZ_LOCK_STORE); return q; } } while (fz_store_scavenge(ctx, size, &phase)); fz_unlock(ctx, FZ_LOCK_ALLOC); - fz_unlock(ctx, FZ_LOCK_STORE); return NULL; } |