]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Wed, 9 Jan 2013 02:13:23 +0000 (02:13 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Wed, 9 Jan 2013 02:13:23 +0000 (02:13 +0000)
MagickCore/cache-private.h
MagickCore/distribute-cache-private.h
MagickCore/distribute-cache.c

index 6ebe1554781c78b913a59e895b45814eb2e7b14f..698f3be9cdb458303c617f448f1234733570743a 100644 (file)
@@ -176,11 +176,8 @@ typedef struct _CacheInfo
   RandomInfo
     *random_info;
 
-  ssize_t
-    number_connections;
-
   DistributeCacheInfo
-    connection[MaxNumberDistributedCacheClients];
+    *distribute_cache_info;
 
   MagickBooleanType
     synchronize,
index fc87da68508c08cecfa1ea98c81d677501f866f6..259c8d7810133a1f94788e24d162dfe48aa7d751 100644 (file)
@@ -26,13 +26,21 @@ extern "C" {
 
 typedef struct _DistributeCacheInfo
 {
+  size_t
+    number_connections,
+    session[MaxNumberDistributedCacheClients];
+
 #if defined(MAGICKCORE_HAVE_SOCKET)
   int
-    server;
+    server[MaxNumberDistributedCacheClients];
 #endif
 
   size_t
-    session;
+    signature;
 } DistributeCacheInfo;
 
+extern MagickPrivate DistributeCacheInfo
+  *AcquireDistributeCacheInfo(void),
+  *DestroyDistributeCacheInfo(DistributeCacheInfo *);
+
 #endif
index 15a20118fbb51c08e141ed81ae4082f4f9aa2710..245f72f1e6980ae49d0bac4cd933361be0f981b5 100644 (file)
   Include declarations.
 */
 #include "MagickCore/studio.h"
+#include "MagickCore/distribute-cache.h"
+#include "MagickCore/distribute-cache-private.h"
+#include "MagickCore/exception.h"
+#include "MagickCore/exception-private.h"
 #include "MagickCore/memory_.h"
 #if defined(MAGICKCORE_HAVE_SOCKET)
 #include <sys/socket.h>
 %                                                                             %
 %                                                                             %
 %                                                                             %
+%   A c q u i r e D i s t r i b u t e C a c h e I n f o                       %
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  AcquireDistributeCacheInfo() allocates the DistributeCacheInfo structure.
+%
+%  The format of the AcquireDistributeCacheInfo method is:
+%
+%      DistributeCacheInfo *AcquireDistributeCacheInfo(void)
+%
+*/
+MagickPrivate DistributeCacheInfo *AcquireDistributeCacheInfo(void)
+{
+  DistributeCacheInfo
+    *distribute_cache_info;
+
+  distribute_cache_info=(DistributeCacheInfo *) AcquireMagickMemory(
+    sizeof(*distribute_cache_info));
+  if (distribute_cache_info == (DistributeCacheInfo *) NULL)
+    ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");
+  (void) ResetMagickMemory(distribute_cache_info,0,
+    sizeof(*distribute_cache_info));
+  distribute_cache_info->signature=MagickSignature;
+  return(distribute_cache_info);
+}
+\f
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%   D e s t r o y D i s t r i b u t e C a c h e I n f o                       %
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  DestroyDistributeCacheInfo() deallocates memory associated with an
+%  DistributeCacheInfo structure.
+%
+%  The format of the DestroyDistributeCacheInfo method is:
+%
+%      DistributeCacheInfo *DestroyDistributeCacheInfo(
+%        DistributeCacheInfo *distribute_cache_info)
+%
+%  A description of each parameter follows:
+%
+%    o distribute_cache_info: the distributed cache info.
+%
+*/
+MagickPrivate DistributeCacheInfo *DestroyDistributeCacheInfo(
+  DistributeCacheInfo *distribute_cache_info)
+{
+  assert(distribute_cache_info != (DistributeCacheInfo *) NULL);
+  assert(distribute_cache_info->signature == MagickSignature);
+  distribute_cache_info->signature=(~MagickSignature);
+  distribute_cache_info=(DistributeCacheInfo *)
+    RelinquishMagickMemory(distribute_cache_info);
+  return(distribute_cache_info);
+}
+\f
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                             %
+%                                                                             %
+%                                                                             %
 +   P i x e l C a c h e S e r v e r                                           %
 %                                                                             %
 %                                                                             %