From 7868e605d94b48fa4e35f39052bdf6297a6c5238 Mon Sep 17 00:00:00 2001 From: cristy Date: Thu, 10 Jan 2013 14:23:18 +0000 Subject: [PATCH] --- MagickCore/cache.c | 5 ++++- MagickCore/distribute-cache-private.h | 7 ++----- MagickCore/distribute-cache.c | 23 ++++++++++++++++++----- 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/MagickCore/cache.c b/MagickCore/cache.c index d8a27b7d5..c41e8b384 100644 --- a/MagickCore/cache.c +++ b/MagickCore/cache.c @@ -3843,7 +3843,10 @@ static MagickBooleanType OpenPixelCache(Image *image,const MapMode mode, { cache_info->distribute_cache_info=AcquireDistributeCacheInfo(exception); if (cache_info->distribute_cache_info != (DistributeCacheInfo *) NULL) - return(MagickTrue); + { + cache_info->type=DistributedCache; + return(MagickTrue); + } (void) ThrowMagickException(exception,GetMagickModule(),CacheError, "CacheResourcesExhausted","`%s'",image->filename); return(MagickFalse); diff --git a/MagickCore/distribute-cache-private.h b/MagickCore/distribute-cache-private.h index 232819e69..83bfd50be 100644 --- a/MagickCore/distribute-cache-private.h +++ b/MagickCore/distribute-cache-private.h @@ -24,17 +24,14 @@ extern "C" { #include "MagickCore/exception.h" -#define MaxNumberDistributedCacheClients 32 - typedef struct _DistributeCacheInfo { size_t - number_connections, - session[MaxNumberDistributedCacheClients]; + session; #if defined(MAGICKCORE_HAVE_SOCKET) int - server[MaxNumberDistributedCacheClients]; + server; #endif size_t diff --git a/MagickCore/distribute-cache.c b/MagickCore/distribute-cache.c index e25fcf2de..52744db2e 100644 --- a/MagickCore/distribute-cache.c +++ b/MagickCore/distribute-cache.c @@ -58,7 +58,7 @@ #include "MagickCore/exception-private.h" #include "MagickCore/memory_.h" #include "MagickCore/registry.h" -#if defined(MAGICKCORE_HAVE_SOCKET) && defined(MAGICKCORE_HAVE_PTHREAD) +#if defined(MAGICKCORE_HAVE_SOCKET) #include #include #include @@ -90,8 +90,12 @@ MagickPrivate DistributeCacheInfo *AcquireDistributeCacheInfo( ExceptionInfo *exception) { #if defined(MAGICKCORE_HAVE_SOCKET) && defined(MAGICKCORE_HAVE_PTHREAD) + char + *host, + **hosts; + const char - *hosts; + *value; DistributeCacheInfo *distribute_cache_info; @@ -104,8 +108,17 @@ MagickPrivate DistributeCacheInfo *AcquireDistributeCacheInfo( (void) ResetMagickMemory(distribute_cache_info,0, sizeof(*distribute_cache_info)); distribute_cache_info->signature=MagickSignature; - hosts=GetImageRegistry(StringRegistryType,"cache:hosts",exception); - (void) hosts; + value=GetImageRegistry(StringRegistryType,"cache:hosts",exception); + if (value == (const char *) NULL) + value=(const char *) "127.0.0.1"; + host=AcquireString(value); + if (host == (char *) NULL) + ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed"); + SubstituteString(&host,",","\n"); + hosts=StringToList(host); + if (hosts == (char **) NULL) + ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed"); + hosts=DestroyStringList(hosts); return(distribute_cache_info); #else return((DistributeCacheInfo *) NULL); @@ -141,7 +154,7 @@ MagickPrivate DistributeCacheInfo *DestroyDistributeCacheInfo( { assert(distribute_cache_info != (DistributeCacheInfo *) NULL); assert(distribute_cache_info->signature == MagickSignature); -#if defined(MAGICKCORE_HAVE_SOCKET) && defined(MAGICKCORE_HAVE_PTHREAD) +#if defined(MAGICKCORE_HAVE_SOCKET) #endif distribute_cache_info->signature=(~MagickSignature); distribute_cache_info=(DistributeCacheInfo *) -- 2.40.0