]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Thu, 1 Jul 2010 19:49:21 +0000 (19:49 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Thu, 1 Jul 2010 19:49:21 +0000 (19:49 +0000)
ChangeLog
magick/cache.c

index 1e44d0c1c4e698631718bd0609dd8212bd8f45f4..c0ade140a0111a2bb69cd71f7649ea2071f18bdb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
 2010-07-01  6.6.3-0 Chris Madison  <madisonblu@gmail...>
   * Pinging the DJVU image format no longer faults.
+  * Check for time-limit-exceeded in only one thread.
 
 2010-06-28  6.6.2-10 Cristy  <quetzlzacatenango@image...>
   * Support the tiff:fill-order define.
index 195c3a05512f51d73122d6bfd82ce1b8af68d5bc..78d61225c8061693db979f0b6b87233a5924a38e 100644 (file)
@@ -2172,22 +2172,21 @@ MagickExport Cache GetImagePixelCache(Image *image,
   static MagickSizeType
     time_limit = 0;
 
+  static time_t
+    cache_timer = 0;
+
   if (image->debug != MagickFalse)
     (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
+  status=MagickTrue;
+  LockSemaphoreInfo(image->semaphore);
   if (time_limit == 0)
-    time_limit=GetMagickResourceLimit(TimeResource);
-  if (time_limit != MagickResourceInfinity)
     {
-      static time_t
-        cache_timer = 0;
-
-      if (cache_timer == 0)
-        cache_timer=time((time_t *) NULL);
-      if ((MagickSizeType) (time((time_t *) NULL)-cache_timer) >= time_limit)
-        ThrowFatalException(ResourceLimitFatalError,"TimeLimitExceeded");
+      time_limit=GetMagickResourceLimit(TimeResource);
+      cache_timer=time((time_t *) NULL);
     }
-  status=MagickTrue;
-  LockSemaphoreInfo(image->semaphore);
+  if ((time_limit != MagickResourceInfinity) &&
+      ((MagickSizeType) (time((time_t *) NULL)-cache_timer) >= time_limit))
+    ThrowFatalException(ResourceLimitFatalError,"TimeLimitExceeded");
   assert(image->cache != (Cache) NULL);
   cache_info=(CacheInfo *) image->cache;
   destroy=MagickFalse;