00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MAGICKCORE_THREAD_H
00019 #define MAGICKCORE_THREAD_H
00020
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024
00025 #if defined(MAGICKCORE_WINDOWS_SUPPORT) && !defined(__MINGW32__)
00026 #include <intsafe.h>
00027 #endif
00028
00029 #if defined(MAGICKCORE_THREAD_SUPPORT)
00030 typedef pthread_t MagickThreadType;
00031 #elif defined(MAGICKCORE_WINDOWS_SUPPORT)
00032 typedef DWORD MagickThreadType;
00033 #else
00034 typedef pid_t MagickThreadType;
00035 #endif
00036
00037 #if defined(MAGICKCORE_THREAD_SUPPORT)
00038 typedef pthread_key_t MagickThreadKey;
00039 #elif defined(MAGICKCORE_WINDOWS_SUPPORT)
00040 typedef DWORD MagickThreadKey;
00041 #else
00042 typedef void *MagickThreadKey;
00043 #endif
00044
00045 extern MagickExport MagickBooleanType
00046 CreateMagickThreadKey(MagickThreadKey *,void (*destructor)(void *)),
00047 DeleteMagickThreadKey(MagickThreadKey),
00048 SetMagickThreadValue(MagickThreadKey,const void *);
00049
00050 extern MagickExport void
00051 *GetMagickThreadValue(MagickThreadKey);
00052
00053 #if defined(__cplusplus) || defined(c_plusplus)
00054 }
00055 #endif
00056
00057 #endif