18 #ifndef _MAGICKCORE_THREAD_PRIVATE_H 19 #define _MAGICKCORE_THREAD_PRIVATE_H 25 #if defined(__cplusplus) || defined(c_plusplus) 32 #define magick_threads(source,destination,chunk,expression) \ 33 num_threads((expression) == 0 ? 1 : \ 34 (((chunk) > (32*GetMagickResourceLimit(ThreadResource))) && \ 35 (GetImagePixelCacheType(source) != DiskCache)) && \ 36 (GetImagePixelCacheType(destination) != DiskCache) ? \ 37 GetMagickResourceLimit(ThreadResource) : \ 38 GetMagickResourceLimit(ThreadResource) < 2 ? 1 : 2) 40 #if defined(__clang__) || (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 10)) 41 #define MagickCachePrefetch(address,mode,locality) \ 42 __builtin_prefetch(address,mode,locality) 44 #define MagickCachePrefetch(address,mode,locality) 47 #if defined(MAGICKCORE_THREAD_SUPPORT) 49 #elif defined(MAGICKCORE_WINDOWS_SUPPORT) 57 #if defined(MAGICKCORE_THREAD_SUPPORT) 59 #elif defined(MAGICKCORE_WINDOWS_SUPPORT) 60 return(GetCurrentThreadId());
68 #if defined(MAGICKCORE_THREAD_SUPPORT) 79 magick_thread.signature=0UL;
81 return(magick_thread.signature);
83 #elif defined(MAGICKCORE_WINDOWS_SUPPORT) 84 return((
size_t) GetCurrentThreadId());
86 return((
size_t) getpid());
92 #if defined(MAGICKCORE_THREAD_SUPPORT) 95 #elif defined(MAGICKCORE_WINDOWS_SUPPORT) 96 if (
id == GetCurrentThreadId())
110 #if defined(MAGICKCORE_OPENMP_SUPPORT) 111 return(omp_get_max_threads());
119 #if defined(MAGICKCORE_OPENMP_SUPPORT) 120 return(omp_get_thread_num());
128 #if defined(MAGICKCORE_OPENMP_SUPPORT) 129 omp_set_num_threads(threads);
137 #if defined(MAGICKCORE_OPENMP_SUPPORT) 138 omp_set_nested(value);
144 #if defined(__cplusplus) || defined(c_plusplus) static MagickThreadType GetMagickThreadId(void)
Definition: thread-private.h:55
static size_t GetOpenMPMaximumThreads(void)
Definition: thread-private.h:108
#define pthread_self
Definition: vms.h:836
static MagickBooleanType IsMagickThreadEqual(const MagickThreadType id)
Definition: thread-private.h:90
size_t MagickMutexType
Definition: thread-private.h:52
static void SetOpenMPMaximumThreads(const int threads)
Definition: thread-private.h:126
MagickBooleanType
Definition: magick-type.h:211
pid_t MagickThreadType
Definition: thread_.h:30
static int GetOpenMPThreadId(void)
Definition: thread-private.h:117
Definition: magick-type.h:214
static void SetOpenMPNested(const int value)
Definition: thread-private.h:135
Definition: magick-type.h:213
static size_t GetMagickThreadSignature(void)
Definition: thread-private.h:66
#define pthread_equal
Definition: vms.h:802