00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef ATOMICADJUST_H
00016 #define ATOMICADJUST_H
00017
00018 #include "dtoolbase.h"
00019 #include "selectThreadImpl.h"
00020
00021 #if defined(THREAD_DUMMY_IMPL)||defined(THREAD_SIMPLE_IMPL)
00022
00023 #include "atomicAdjustDummyImpl.h"
00024 typedef AtomicAdjustDummyImpl AtomicAdjust;
00025
00026 #elif defined(__i386__) || defined(_M_IX86)
00027
00028
00029
00030
00031 #include "atomicAdjustI386Impl.h"
00032 typedef AtomicAdjustI386Impl AtomicAdjust;
00033
00034
00035
00036
00037
00038
00039 #define HAVE_ATOMIC_COMPARE_AND_EXCHANGE 1
00040 #define HAVE_ATOMIC_COMPARE_AND_EXCHANGE_PTR 1
00041
00042 #elif defined(THREAD_WIN32_IMPL)
00043
00044 #include "atomicAdjustWin32Impl.h"
00045 typedef AtomicAdjustWin32Impl AtomicAdjust;
00046
00047 #define HAVE_ATOMIC_COMPARE_AND_EXCHANGE 1
00048 #define HAVE_ATOMIC_COMPARE_AND_EXCHANGE_PTR 1
00049
00050 #elif defined(THREAD_LINUX_IMPL)
00051
00052 #error Linux native threads are currently implemented only for i386; use Posix threads instead.
00053
00054 #elif defined(THREAD_POSIX_IMPL)
00055
00056 #include "atomicAdjustPosixImpl.h"
00057 typedef AtomicAdjustPosixImpl AtomicAdjust;
00058
00059 #endif
00060
00061 #endif