]> granicus.if.org Git - imagemagick/blobdiff - MagickCore/resource.c
(no commit message)
[imagemagick] / MagickCore / resource.c
index 0e6af9da698de8f2e5683caa0064426ecdefbc81..17cdcc0ac103f6b716a9772d1bc49bab013b8198 100644 (file)
@@ -233,7 +233,6 @@ MagickExport MagickBooleanType AcquireMagickResource(const ResourceType type,
     }
     case ThreadResource:
     {
-      resource_info.thread+=size;
       limit=resource_info.thread_limit;
       status=(resource_info.thread_limit == MagickResourceInfinity) ||
         ((MagickSizeType) resource_info.thread < limit) ?
@@ -791,7 +790,6 @@ MagickExport void RelinquishMagickResource(const ResourceType type,
     }
     case ThreadResource:
     {
-      resource_info.thread-=size;
       (void) FormatMagickSize((MagickSizeType) resource_info.thread,MagickFalse,
         resource_current);
       (void) FormatMagickSize((MagickSizeType) resource_info.thread_limit,
@@ -1146,6 +1144,8 @@ MagickExport MagickBooleanType SetMagickResourceLimit(const ResourceType type,
       if (value != (char *) NULL)
         resource_info.thread_limit=MagickMin(limit,StringToSizeType(value,
           100.0));
+      if (resource_info.thread_limit > GetOpenMPMaximumThreads())
+        resource_info.thread_limit=GetOpenMPMaximumThreads();
       break;
     }
     case TimeResource: