18 #ifndef MAGICKCORE_THREAD_H
19 #define MAGICKCORE_THREAD_H
21 #if defined(__cplusplus) || defined(c_plusplus)
25 #if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(__MINGW32__)
29 #if defined(MAGICKCORE_THREAD_SUPPORT)
30 typedef pthread_t MagickThreadType;
31 #elif defined(MAGICKCORE_WINDOWS_SUPPORT)
32 typedef DWORD MagickThreadType;
34 typedef pid_t MagickThreadType;
37 #if defined(MAGICKCORE_THREAD_SUPPORT)
38 typedef pthread_key_t MagickThreadKey;
39 #elif defined(MAGICKCORE_WINDOWS_SUPPORT)
40 typedef DWORD MagickThreadKey;
42 typedef void *MagickThreadKey;
45 extern MagickExport MagickBooleanType
46 CreateMagickThreadKey(MagickThreadKey *,
void (*destructor)(
void *)),
47 DeleteMagickThreadKey(MagickThreadKey),
48 SetMagickThreadValue(MagickThreadKey,
const void *);
50 extern MagickExport
void
51 *GetMagickThreadValue(MagickThreadKey);
54 extern MagickExport MagickBooleanType
55 MagickCreateThreadKey(MagickThreadKey *),
56 MagickDeleteThreadKey(MagickThreadKey),
57 MagickSetThreadValue(MagickThreadKey,
const void *);
59 extern MagickExport
void
60 *MagickGetThreadValue(MagickThreadKey);
62 #if defined(__cplusplus) || defined(c_plusplus)