21 #include <ndb_global.h>
27 typedef enum NDB_THREAD_PRIO_ENUM {
28 NDB_THREAD_PRIO_HIGHEST,
32 NDB_THREAD_PRIO_LOWEST
35 typedef enum NDB_THREAD_TLS_ENUM {
37 NDB_THREAD_TLS_THREAD,
41 typedef void* (NDB_THREAD_FUNC)(
void*);
42 typedef void* NDB_THREAD_ARG;
43 typedef size_t NDB_THREAD_STACKSIZE;
51 #ifdef NDB_SHM_TRANSPORTER
52 void NdbThread_set_shm_sigmask(my_bool
block);
64 struct NdbThread* NdbThread_Create(NDB_THREAD_FUNC *p_thread_func,
65 NDB_THREAD_ARG *p_thread_arg,
66 const NDB_THREAD_STACKSIZE thread_stack_size,
67 const char* p_thread_name,
68 NDB_THREAD_PRIO thread_prio);
83 void NdbThread_Destroy(
struct NdbThread** p_thread);
93 int NdbThread_WaitFor(
struct NdbThread* p_wait_thread,
void** status);
100 void NdbThread_Exit(
void *status);
107 int NdbThread_SetConcurrencyLevel(
int level);
119 int NdbThread_SetScheduler(
struct NdbThread*, my_bool rt_prio, my_bool high_prio);
124 int NdbThread_LockCPU(
struct NdbThread*, Uint32 cpu);
129 void *NdbThread_GetTlsKey(NDB_THREAD_TLS key);
130 void NdbThread_SetTlsKey(NDB_THREAD_TLS key,
void *value);
144 int NdbThread_SetHighPrioProperties(
const char * spec);