#elif defined(MAGICKCORE_THREAD_SUPPORT)
static pthread_mutex_t
semaphore_mutex = PTHREAD_MUTEX_INITIALIZER;
-#elif defined(MAGICKCORE_HAVE_WINTHREADS)
+#elif defined(MAGICKCORE_WINDOWS_SUPPORT)
static LONG
semaphore_mutex = 0;
#else
ThrowFatalException(ResourceLimitFatalError,"UnableToLockSemaphore");
}
}
-#elif defined(MAGICKCORE_HAVE_WINTHREADS)
+#elif defined(MAGICKCORE_WINDOWS_SUPPORT)
while (InterlockedCompareExchange(&semaphore_mutex,1L,0L) != 0)
Sleep(10);
#endif
ThrowFatalException(ResourceLimitFatalError,"UnableToUnlockSemaphore");
}
}
-#elif defined(MAGICKCORE_HAVE_WINTHREADS)
+#elif defined(MAGICKCORE_WINDOWS_SUPPORT)
InterlockedExchange(&semaphore_mutex,0L);
#endif
}
_exit(1);
}
}
-#elif defined(MAGICKCORE_HAVE_WINTHREADS)
+#elif defined(MAGICKCORE_WINDOWS_SUPPORT)
{
int
status;
_exit(1);
}
}
-#elif defined(MAGICKCORE_HAVE_WINTHREADS)
+#elif defined(MAGICKCORE_WINDOWS_SUPPORT)
EnterCriticalSection(&semaphore_info->mutex);
#endif
#if defined(MAGICKCORE_DEBUG)
_exit(1);
}
}
-#elif defined(MAGICKCORE_HAVE_WINTHREADS)
+#elif defined(MAGICKCORE_WINDOWS_SUPPORT)
DeleteCriticalSection(&(*semaphore_info)->mutex);
#endif
(*semaphore_info)->signature=(~MagickCoreSignature);
_exit(1);
}
}
-#elif defined(MAGICKCORE_HAVE_WINTHREADS)
+#elif defined(MAGICKCORE_WINDOWS_SUPPORT)
LeaveCriticalSection(&semaphore_info->mutex);
#endif
}
#if defined(MAGICKCORE_THREAD_SUPPORT)
# include <pthread.h>
#elif defined(MAGICKCORE_WINDOWS_SUPPORT)
-# define MAGICKCORE_HAVE_WINTHREADS 1
+# define MAGICKCORE_WINDOWS_SUPPORT 1
#include <winsock2.h>
#include <ws2tcpip.h>
#include <windows.h>
{
#if defined(MAGICKCORE_THREAD_SUPPORT)
return(pthread_key_create(key,destructor) == 0 ? MagickTrue : MagickFalse);
-#elif defined(MAGICKCORE_HAVE_WINTHREADS)
+#elif defined(MAGICKCORE_WINDOWS_SUPPORT)
*key=TlsAlloc();
return(*key != TLS_OUT_OF_INDEXES ? MagickTrue : MagickFalse);
#else
{
#if defined(MAGICKCORE_THREAD_SUPPORT)
return(pthread_key_delete(key) == 0 ? MagickTrue : MagickFalse);
-#elif defined(MAGICKCORE_HAVE_WINTHREADS)
+#elif defined(MAGICKCORE_WINDOWS_SUPPORT)
return(TlsFree(key) != 0 ? MagickTrue : MagickFalse);
#else
{
{
#if defined(MAGICKCORE_THREAD_SUPPORT)
return(pthread_getspecific(key));
-#elif defined(MAGICKCORE_HAVE_WINTHREADS)
+#elif defined(MAGICKCORE_WINDOWS_SUPPORT)
return(TlsGetValue(key));
#else
{
{
#if defined(MAGICKCORE_THREAD_SUPPORT)
return(pthread_setspecific(key,value) == 0 ? MagickTrue : MagickFalse);
-#elif defined(MAGICKCORE_HAVE_WINTHREADS)
+#elif defined(MAGICKCORE_WINDOWS_SUPPORT)
return(TlsSetValue(key,(void *) value) != 0 ? MagickTrue : MagickFalse);
#else
{
#if defined(MAGICKCORE_THREAD_SUPPORT)
# include <pthread.h>
#elif defined(MAGICKWAND_WINDOWS_SUPPORT)
-# define MAGICKCORE_HAVE_WINTHREADS 1
+# define MAGICKCORE_WINDOWS_SUPPORT 1
#include <windows.h>
#endif
#if defined(MAGICKCORE_HAVE_SYS_SYSLIMITS_H)