From: cristy Date: Fri, 11 Sep 2009 18:49:48 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~10725 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=398f932e1cbd26bd254007a8fcbe0b7152a96767;p=imagemagick --- diff --git a/ChangeLog b/ChangeLog index fe8642bfa..10b4c1bee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-09-11 6.5.5-10 Cristy + * Return the global maximum threads to avoid the rare cache view assertions. + +2009-09-10 6.5.5-9 Cristy + * Do not include last line of text in the interline spacing computation. + 2009-09-07 6.5.5-8 Cristy * Check that quantum_info is defined before destroying it in the PNG coder. * Add -interline-spacing option to convert. diff --git a/magick/image.c b/magick/image.c index 35e1a9cf1..01f4f7f93 100644 --- a/magick/image.c +++ b/magick/image.c @@ -779,6 +779,7 @@ MagickExport Image *AverageImages(const Image *image,ExceptionInfo *exception) register long i, + id, x; register MagickPixelPacket @@ -798,7 +799,8 @@ MagickExport Image *AverageImages(const Image *image,ExceptionInfo *exception) } average_indexes=GetCacheViewAuthenticIndexQueue(average_view); pixel=zero; - average_pixel=average_pixels[GetOpenMPThreadId()]; + id=GetOpenMPThreadId(); + average_pixel=average_pixels[id]; for (x=0; x < (long) average_image->columns; x++) average_pixel[x]=zero; next=image; diff --git a/magick/thread-private.h b/magick/thread-private.h index 2bec78466..5ae3dbeb4 100644 --- a/magick/thread-private.h +++ b/magick/thread-private.h @@ -88,7 +88,14 @@ static inline MagickBooleanType IsMagickThreadEqual(const MagickThreadType id) static inline unsigned long GetOpenMPMaximumThreads(void) { #if defined(MAGICKCORE_OPENMP_SUPPORT) - return((unsigned long) omp_get_max_threads()); + { + static unsigned long + maximum_threads = 1UL; + + if (omp_get_max_threads() > (long) maximum_threads) + maximum_threads=omp_get_max_threads(); + return(maximum_threads); + } #endif return(1UL); }