From: cristy Date: Mon, 31 Mar 2014 11:45:53 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~2522 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0459aaf2774e47e5c7a3a10611990485908ee39d;p=imagemagick --- 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); }