/*
Open pixel cache on disk.
*/
- LockSemaphoreInfo(cache_info->file_semaphore);
if (cache_info->file != -1)
- {
- UnlockSemaphoreInfo(cache_info->file_semaphore);
- return(MagickTrue); /* cache already open */
- }
+ return(MagickTrue); /* cache already open */
if (*cache_info->cache_filename == '\0')
file=AcquireUniqueFileResource(cache_info->cache_filename);
else
}
}
if (file == -1)
- {
- UnlockSemaphoreInfo(cache_info->file_semaphore);
- return(MagickFalse);
- }
+ return(MagickFalse);
(void) AcquireMagickResource(FileResource,1);
cache_info->file=file;
cache_info->mode=mode;
- UnlockSemaphoreInfo(cache_info->file_semaphore);
return(MagickTrue);
}
count;
#if !defined(MAGICKCORE_HAVE_PWRITE)
- LockSemaphoreInfo(cache_info->file_semaphore);
if (lseek(cache_info->file,offset,SEEK_SET) < 0)
- {
- UnlockSemaphoreInfo(cache_info->file_semaphore);
- return((MagickOffsetType) -1);
- }
+ return((MagickOffsetType) -1);
#endif
count=0;
for (i=0; i < (MagickOffsetType) length; i+=count)
break;
}
}
-#if !defined(MAGICKCORE_HAVE_PREAD)
- UnlockSemaphoreInfo(cache_info->file_semaphore);
-#endif
return(i);
}
count;
#if !defined(MAGICKCORE_HAVE_PREAD)
- LockSemaphoreInfo(cache_info->file_semaphore);
if (lseek(cache_info->file,offset,SEEK_SET) < 0)
- {
- UnlockSemaphoreInfo(cache_info->file_semaphore);
- return((MagickOffsetType) -1);
- }
+ return((MagickOffsetType) -1);
#endif
count=0;
for (i=0; i < (MagickOffsetType) length; i+=count)
break;
}
}
-#if !defined(MAGICKCORE_HAVE_PREAD)
- UnlockSemaphoreInfo(cache_info->file_semaphore);
-#endif
return(i);
}
/*
Read meta content from disk.
*/
+ LockSemaphoreInfo(cache_info->file_semaphore);
if (OpenPixelCacheOnDisk(cache_info,IOMode) == MagickFalse)
{
ThrowFileException(exception,FileOpenError,"UnableToOpenFile",
cache_info->cache_filename);
+ UnlockSemaphoreInfo(cache_info->file_semaphore);
return(MagickFalse);
}
if ((cache_info->columns == nexus_info->region.width) &&
}
if (IsFileDescriptorLimitExceeded() != MagickFalse)
(void) ClosePixelCacheOnDisk(cache_info);
+ UnlockSemaphoreInfo(cache_info->file_semaphore);
break;
}
case DistributedCache:
/*
Read pixels from disk.
*/
+ LockSemaphoreInfo(cache_info->file_semaphore);
if (OpenPixelCacheOnDisk(cache_info,IOMode) == MagickFalse)
{
ThrowFileException(exception,FileOpenError,"UnableToOpenFile",
cache_info->cache_filename);
+ UnlockSemaphoreInfo(cache_info->file_semaphore);
return(MagickFalse);
}
if ((cache_info->columns == nexus_info->region.width) &&
}
if (IsFileDescriptorLimitExceeded() != MagickFalse)
(void) ClosePixelCacheOnDisk(cache_info);
+ UnlockSemaphoreInfo(cache_info->file_semaphore);
break;
}
case DistributedCache:
/*
Write associated pixels to disk.
*/
+ LockSemaphoreInfo(cache_info->file_semaphore);
if (OpenPixelCacheOnDisk(cache_info,IOMode) == MagickFalse)
{
ThrowFileException(exception,FileOpenError,"UnableToOpenFile",
cache_info->cache_filename);
+ UnlockSemaphoreInfo(cache_info->file_semaphore);
return(MagickFalse);
}
if ((cache_info->columns == nexus_info->region.width) &&
}
if (IsFileDescriptorLimitExceeded() != MagickFalse)
(void) ClosePixelCacheOnDisk(cache_info);
+ UnlockSemaphoreInfo(cache_info->file_semaphore);
break;
}
case DistributedCache:
/*
Write pixels to disk.
*/
+ LockSemaphoreInfo(cache_info->file_semaphore);
if (OpenPixelCacheOnDisk(cache_info,IOMode) == MagickFalse)
{
ThrowFileException(exception,FileOpenError,"UnableToOpenFile",
cache_info->cache_filename);
+ UnlockSemaphoreInfo(cache_info->file_semaphore);
return(MagickFalse);
}
if ((cache_info->columns == nexus_info->region.width) &&
}
if (IsFileDescriptorLimitExceeded() != MagickFalse)
(void) ClosePixelCacheOnDisk(cache_info);
+ UnlockSemaphoreInfo(cache_info->file_semaphore);
break;
}
case DistributedCache: