73 #define MagickPathTemplate "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 74 #define NumberOfResourceTypes \ 75 (sizeof(resource_semaphore)/sizeof(*resource_semaphore)) 392 resource_request,resource_current,resource_limit);
429 while (path != (
const char *) NULL)
463 (void)
ShredFile((
char *) temporary_resource);
464 temporary_resource=
DestroyString((
char *) temporary_resource);
465 return((
void *) NULL);
488 if (directory == (
char *) NULL)
490 if (directory == (
char *) NULL)
492 if (directory == (
char *) NULL)
494 #if defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__OS2__) || defined(__CYGWIN__) 495 if (directory == (
char *) NULL)
497 if (directory == (
char *) NULL)
501 if (directory == (
char *) NULL)
504 #if defined(P_tmpdir) 505 if (directory == (
char *) NULL)
508 if (directory == (
char *) NULL)
511 if (value != (
char *) NULL)
534 #if defined(MAGICKCORE_WINDOWS_SUPPORT) 553 #if !defined(O_NOFOLLOW) 556 #if !defined(TMP_MAX) 557 # define TMP_MAX 238328 571 portable_filename[65] =
572 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";
580 assert(path != (
char *) NULL);
592 for (i=0; i < (ssize_t)
TMP_MAX; i++)
606 c=(int) (datum[j] & 0x3f);
607 *p++=portable_filename[c];
610 #if defined(MAGICKCORE_HAVE_MKSTEMP) 614 #if defined(MAGICKCORE_HAVE_FCHMOD) 615 (void) fchmod(file,0600);
628 c=(int) (datum[j] & 0x3f);
629 *p++=portable_filename[c];
634 if ((file >= 0) || (errno != EEXIST))
648 (
const void *) NULL);
892 if (file == (
const FILE *) NULL)
1072 resource_request,resource_current,resource_limit);
1106 assert(path != (
const char *) NULL);
1167 if (limit != (
char *) NULL)
1175 if (limit != (
char *) NULL)
1183 #if defined(MAGICKCORE_HAVE_SYSCONF) && defined(_SC_PHYS_PAGES) 1184 pages=(ssize_t) sysconf(_SC_PHYS_PAGES);
1185 #if defined(MAGICKCORE_WINDOWS_SUPPORT) 1190 if ((pagesize <= 0) || (pages <= 0))
1191 memory=2048UL*1024UL*1024UL;
1192 #if defined(PixelCacheThreshold) 1193 memory=PixelCacheThreshold;
1197 if (limit != (
char *) NULL)
1205 if (limit != (
char *) NULL)
1213 if (limit != (
char *) NULL)
1221 if (limit != (
char *) NULL)
1228 #if defined(MAGICKCORE_HAVE_SYSCONF) && defined(_SC_OPEN_MAX) 1229 files=(ssize_t) sysconf(_SC_OPEN_MAX);
1231 #if defined(MAGICKCORE_HAVE_GETRLIMIT) && defined(RLIMIT_NOFILE) 1237 if (getrlimit(RLIMIT_NOFILE,&resources) != -1)
1238 files=(ssize_t) resources.rlim_cur;
1241 #if defined(MAGICKCORE_HAVE_GETDTABLESIZE) && defined(MAGICKCORE_POSIX_SUPPORT) 1243 files=(ssize_t) getdtablesize();
1250 if (limit != (
char *) NULL)
1258 if (limit != (
char *) NULL)
1266 if (limit != (
char *) NULL)
1274 if (limit != (
char *) NULL)
1282 if (limit != (
char *) NULL)
1362 value=(
char *) NULL;
1383 if (value == (
char *) NULL)
1393 if (value == (
char *) NULL)
1403 if (value == (
char *) NULL)
1413 if (value == (
char *) NULL)
1425 if (value == (
char *) NULL)
1435 if (value == (
char *) NULL)
1445 if (value == (
char *) NULL)
1455 if (value == (
char *) NULL)
1470 if (value == (
char *) NULL)
1480 if (value == (
char *) NULL)
1491 if (value == (
char *) NULL)
1519 if (value != (
char *) NULL)
MagickExport ssize_t FormatMagickSize(const MagickSizeType size, const MagickBooleanType bi, const char *suffix, const size_t length, char *format)
MagickExport MagickBooleanType GetPathAttributes(const char *path, void *attributes)
MagickExport MagickBooleanType AddValueToSplayTree(SplayTreeInfo *splay_tree, const void *key, const void *value)
MagickExport void UnlockSemaphoreInfo(SemaphoreInfo *semaphore_info)
MagickExport MagickBooleanType ListMagickResourceInfo(FILE *file, ExceptionInfo *magick_unused(exception))
static void * DestroyTemporaryResources(void *temporary_resource)
#define MagickULLConstant(c)
struct _ResourceInfo ResourceInfo
static size_t GetOpenMPMaximumThreads(void)
MagickSizeType height_limit
static SemaphoreInfo * resource_semaphore[]
MagickExport SemaphoreInfo * AcquireSemaphoreInfo(void)
static ResourceInfo resource_info
MagickPrivate MagickBooleanType ResourceComponentGenesis(void)
MagickExport MagickBooleanType SetMagickResourceLimit(const ResourceType type, const MagickSizeType limit)
MagickSizeType area_limit
MagickExport ExceptionInfo * AcquireExceptionInfo(void)
MagickExport ssize_t FormatLocaleString(char *magick_restrict string, const size_t length, const char *magick_restrict format,...)
MagickExport size_t CopyMagickString(char *magick_restrict destination, const char *magick_restrict source, const size_t length)
MagickExport void RelinquishMagickResource(const ResourceType type, const MagickSizeType size)
MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type, const MagickSizeType size)
MagickExport RandomInfo * DestroyRandomInfo(RandomInfo *random_info)
MagickExport void LockSemaphoreInfo(SemaphoreInfo *semaphore_info)
MagickExport unsigned char * GetStringInfoDatum(const StringInfo *string_info)
MagickSizeType memory_limit
MagickExport ssize_t FormatLocaleFile(FILE *file, const char *magick_restrict format,...)
#define DirectorySeparator
MagickExport int AcquireUniqueFileResource(char *path)
MagickPrivate ssize_t GetMagickPageSize(void)
MagickExport const char * CommandOptionToMnemonic(const CommandOption option, const ssize_t type)
static SplayTreeInfo * temporary_resources
MagickExport StringInfo * DestroyStringInfo(StringInfo *string_info)
MagickOffsetType list_length
MagickSizeType time_limit
MagickExport MagickBooleanType RelinquishUniqueFileResource(const char *path)
MagickExport SplayTreeInfo * DestroySplayTree(SplayTreeInfo *splay_tree)
MagickExport MagickBooleanType IsEventLogging(void)
MagickExport SplayTreeInfo * NewSplayTree(int(*compare)(const void *, const void *), void *(*relinquish_key)(void *), void *(*relinquish_value)(void *))
MagickExport MagickBooleanType LogMagickEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
static int open_utf8(const char *path, int flags, mode_t mode)
MagickExport RandomInfo * AcquireRandomInfo(void)
MagickExport MagickSizeType GetMagickResourceLimit(const ResourceType type)
MagickExport char * GetEnvironmentValue(const char *name)
MagickPrivate MagickBooleanType ShredFile(const char *)
MagickExport void AppendImageFormat(const char *format, char *filename)
MagickSizeType throttle_limit
MagickPrivate void AsynchronousResourceComponentTerminus(void)
#define MagickFormatExtent
#define GetMagickModule()
MagickExport int CompareSplayTreeString(const void *target, const void *source)
MagickExport MagickSizeType GetMagickResource(const ResourceType type)
#define MagickResourceInfinity
MagickExport const void * GetNextKeyInSplayTree(SplayTreeInfo *splay_tree)
MagickExport char * DestroyString(char *string)
MagickExport void ActivateSemaphoreInfo(SemaphoreInfo **semaphore_info)
MagickOffsetType throttle
static MagickSizeType StringToMagickSizeType(const char *string, const double interval)
static int access_utf8(const char *path, int mode)
MagickSizeType list_length_limit
MagickExport MagickBooleanType DeleteNodeFromSplayTree(SplayTreeInfo *splay_tree, const void *key)
MagickExport char * GetPolicyValue(const char *name)
MagickSizeType thread_limit
MagickExport void ResetSplayTreeIterator(SplayTreeInfo *splay_tree)
static RandomInfo * random_info
MagickPrivate void ResetPixelCacheEpoch(void)
#define magick_unreferenced(x)
#define MagickPathTemplate
MagickSizeType width_limit
MagickExport void * GetImageRegistry(const RegistryType type, const char *key, ExceptionInfo *exception)
MagickExport char * CloneString(char **destination, const char *source)
MagickExport StringInfo * GetRandomKey(RandomInfo *random_info, const size_t length)
MagickSizeType file_limit
MagickExport size_t GetStringInfoLength(const StringInfo *string_info)
#define NumberOfResourceTypes
MagickSizeType disk_limit
MagickExport MagickBooleanType GetPathTemplate(char *path)
MagickExport void RelinquishSemaphoreInfo(SemaphoreInfo **semaphore_info)
MagickExport char * ConstantString(const char *source)
MagickExport ExceptionInfo * DestroyExceptionInfo(ExceptionInfo *exception)
MagickPrivate void ResourceComponentTerminus(void)