ports/94287: graphics/ImageMagick does not link when WITH_IMAGEMAGICK_THREADS is on

Coleman Kane cokane at FreeBSD.org
Thu Mar 9 21:50:13 UTC 2006


>Number:         94287
>Category:       ports
>Synopsis:       graphics/ImageMagick does not link when WITH_IMAGEMAGICK_THREADS is on
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Mar 09 21:50:11 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Coleman Kane
>Release:        7.0-CURRENT
>Organization:
>Environment:
FreeBSD erwin 7.0-CURRENT FreeBSD 7.0-CURRENT #6: Sun Mar  5 03:16:45 EST 2006    root at erwin:/usr/obj/usr/src/sys/ERWIN  amd64
>Description:
When ImageMagick threading is enabled, there is one call to pthread_equal in an assertion in semaphore.c. This function is not implemented on FreeBSD. Furthermore, the call is done in an assert(...) statement, debugging code, so I feel that it is safe to remove (or perhaps replace with a meaningful alternative).

I've attached a patch below to remove the offending statement.
>How-To-Repeat:
Build imagemagick and set WITH_IMAGEMAGICK_THREADS=yes
>Fix:
--- ImageMagick-6.2.5-orig/magick/semaphore.c   Wed Jul 13 22:16:40 2005
+++ ImageMagick-6.2.5/magick/semaphore.c        Thu Mar  9 16:01:49 2006
@@ -407,7 +407,7 @@
     return(MagickFalse);
   semaphore_info->lock=MagickFalse;
 #if defined(HAVE_PTHREAD)
-  assert(pthread_equal(semaphore_info->id,pthread_self()));
+  /* assert(pthread_equal(semaphore_info->id,pthread_self())); */
   if (pthread_mutex_unlock(&semaphore_info->mutex) != 0)
     return(MagickFalse);
 #endif

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list