]> granicus.if.org Git - imagemagick/blobdiff - magick/thread.c
(no commit message)
[imagemagick] / magick / thread.c
index 56f2cd595973db1bd3cd918a507a4dc30a63ba38..3529e6d4f8600ddf82a5d2a736d6320adeaea956 100644 (file)
@@ -16,7 +16,7 @@
 %                               March  2003                                   %
 %                                                                             %
 %                                                                             %
-%  Copyright 1999-2009 ImageMagick Studio LLC, a non-profit organization      %
+%  Copyright 1999-2010 ImageMagick Studio LLC, a non-profit organization      %
 %  dedicated to making software imaging solutions freely available.           %
 %                                                                             %
 %  You may not use this file except in compliance with the License.  You may  %
@@ -65,11 +65,11 @@ MagickExport MagickBooleanType MagickCreateThreadKey(MagickThreadKey *key)
 {
 #if defined(MAGICKCORE_HAVE_PTHREAD)
   return(pthread_key_create(key,NULL) == 0 ? MagickTrue : MagickFalse);
-#elif defined(MAGICKORE_HAVE_WINTHREADS)
+#elif defined(MAGICKCORE_HAVE_WINTHREADS)
   *key=TlsAlloc();
   return(*key != TLS_OUT_OF_INDEXES ? MagickTrue : MagickFalse);
 #else
-  *key=AcquireMagickMemory(sizeof(key));
+  *key=AcquireAlignedMemory(1,sizeof(key));
   return(*key != (void *) NULL ? MagickTrue : MagickFalse);
 #endif
 }
@@ -100,7 +100,7 @@ MagickExport MagickBooleanType MagickDeleteThreadKey(MagickThreadKey key)
 {
 #if defined(MAGICKCORE_HAVE_PTHREAD)
   return(pthread_key_delete(key) == 0 ? MagickTrue : MagickFalse);
-#elif defined(MAGICKORE_HAVE_WINTHREADS)
+#elif defined(MAGICKCORE_HAVE_WINTHREADS)
   return(TlsFree(key) != 0 ? MagickTrue : MagickFalse);
 #else
   key=(MagickThreadKey) RelinquishMagickMemory(key);
@@ -135,7 +135,7 @@ MagickExport void *MagickGetThreadValue(MagickThreadKey key)
 {
 #if defined(MAGICKCORE_HAVE_PTHREAD)
   return(pthread_getspecific(key));
-#elif defined(MAGICKORE_HAVE_WINTHREADS)
+#elif defined(MAGICKCORE_HAVE_WINTHREADS)
   return(TlsGetValue(key));
 #else
   return((void *) (*key));
@@ -172,10 +172,10 @@ MagickExport MagickBooleanType MagickSetThreadValue(MagickThreadKey key,
 {
 #if defined(MAGICKCORE_HAVE_PTHREAD)
   return(pthread_setspecific(key,value) == 0 ? MagickTrue : MagickFalse);
-#elif defined(MAGICKORE_HAVE_WINTHREADS)
+#elif defined(MAGICKCORE_HAVE_WINTHREADS)
   return(TlsSetValue(key,(void *) value) != 0 ? MagickTrue : MagickFalse);
 #else
-  *key=(unsigned long) value;
+  *key=(size_t) value;
   return(MagickTrue);
 #endif
 }