count;
#if !defined(MAGICKCORE_HAVE_PWRITE)
+ LockSemaphoreInfo(cache_info->file_semaphore);
if (lseek(cache_info->file,offset,SEEK_SET) < 0)
- return((MagickOffsetType) -1);
+ {
+ UnlockSemaphoreInfo(cache_info->file_semaphore);
+ 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)
- return((MagickOffsetType) -1);
+ {
+ UnlockSemaphoreInfo(cache_info->file_semaphore);
+ 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: