00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _DECAF_INTERNAL_UTIL_CONCURRENT_UNIX_PLATFORMDEFS_H_
00019 #define _DECAF_INTERNAL_UTIL_CONCURRENT_UNIX_PLATFORMDEFS_H_
00020
00021 #include <decaf/util/Config.h>
00022
00023 #if HAVE_PTHREAD_H
00024 #include <pthread.h>
00025 #endif
00026 #if HAVE_SIGNAL_H
00027 #include <signal.h>
00028 #endif
00029 #if HAVE_STRING_H
00030 #include <string.h>
00031 #endif
00032 #if HAVE_SCHED_H
00033 #include <sched.h>
00034 #endif
00035 #if HAVE_SYS_TIME_H
00036 #include <sys/time.h>
00037 #endif
00038 #if HAVE_UNISTD_H
00039 #include <unistd.h>
00040 #endif
00041 #if HAVE_TIME_H
00042 #include <time.h>
00043 #endif
00044
00045 namespace decaf{
00046 namespace internal{
00047 namespace util{
00048 namespace concurrent{
00049
00050 typedef void* PLATFORM_THREAD_ENTRY_ARG;
00051 #define PLATFORM_THREAD_RETURN() return 0;
00052 #define PLATFORM_THREAD_CALLBACK_TYPE void*
00053 #define PLATFORM_DEFAULT_STACK_SIZE 0x8000
00054 #define PLATFORM_CALLING_CONV
00055
00056 typedef pthread_t decaf_thread_t;
00057 typedef pthread_key_t decaf_tls_key;
00058 typedef pthread_cond_t* decaf_condition_t;
00059 typedef pthread_mutex_t* decaf_mutex_t;
00060 typedef pthread_rwlock_t* decaf_rwmutex_t;
00061
00062 }}}}
00063
00064 #endif