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)
30typedef pthread_t MagickThreadType;
31#elif defined(MAGICKCORE_WINDOWS_SUPPORT)
32typedef DWORD MagickThreadType;
34typedef pid_t MagickThreadType;
37#if defined(MAGICKCORE_THREAD_SUPPORT)
38typedef pthread_key_t MagickThreadKey;
39#elif defined(MAGICKCORE_WINDOWS_SUPPORT)
40typedef DWORD MagickThreadKey;
42typedef void *MagickThreadKey;
45extern MagickExport MagickBooleanType
46 CreateMagickThreadKey(MagickThreadKey *,
void (*destructor)(
void *)),
47 DeleteMagickThreadKey(MagickThreadKey),
48 SetMagickThreadValue(MagickThreadKey,
const void *);
50extern MagickExport
void
51 *GetMagickThreadValue(MagickThreadKey);
53#if defined(__cplusplus) || defined(c_plusplus)