From 0459aaf2774e47e5c7a3a10611990485908ee39d Mon Sep 17 00:00:00 2001 From: cristy Date: Mon, 31 Mar 2014 11:45:53 +0000 Subject: [PATCH] --- MagickCore/cache.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/MagickCore/cache.c b/MagickCore/cache.c index acac3d6e4..3aae81762 100644 --- a/MagickCore/cache.c +++ b/MagickCore/cache.c @@ -3215,8 +3215,12 @@ static MagickBooleanType OpenPixelCacheOnDisk(CacheInfo *cache_info, /* Open pixel cache on disk. */ + LockSemaphoreInfo(cache_info->file_semaphore); if (cache_info->file != -1) - return(MagickTrue); /* cache already open */ + { + UnlockSemaphoreInfo(cache_info->file_semaphore); + return(MagickTrue); /* cache already open */ + } if (*cache_info->cache_filename == '\0') file=AcquireUniqueFileResource(cache_info->cache_filename); else @@ -3246,10 +3250,14 @@ static MagickBooleanType OpenPixelCacheOnDisk(CacheInfo *cache_info, } } if (file == -1) - return(MagickFalse); + { + UnlockSemaphoreInfo(cache_info->file_semaphore); + return(MagickFalse); + } (void) AcquireMagickResource(FileResource,1); cache_info->file=file; cache_info->mode=mode; + UnlockSemaphoreInfo(cache_info->file_semaphore); return(MagickTrue); } -- 2.40.0