23#ifndef MY_XP_THREAD_INCLUDED
24#define MY_XP_THREAD_INCLUDED
26#ifndef XCOM_STANDALONE
37#define NATIVE_THREAD_CREATE_DETACHED MY_THREAD_CREATE_DETACHED
38#define NATIVE_THREAD_CREATE_JOINABLE MY_THREAD_CREATE_JOINABLE
95 virtual int join(
void **value_ptr) = 0;
116#ifndef XCOM_STANDALONE
126 int join(
void **value_ptr)
override;
135#ifndef XCOM_STANDALONE
152 static void exit(
void *value_ptr);
Definition: my_xp_thread.h:138
My_xp_thread_impl()=default
~My_xp_thread_impl() override=default
Definition: my_xp_thread.h:117
int join(void **value_ptr) override
Suspend invoking thread until this thread terminates.
Definition: my_xp_thread.cc:68
native_thread_t * get_native_thread() override
Retrieves native thread reference.
Definition: my_xp_thread.cc:37
int cancel() override
Cancel this thread.
Definition: my_xp_thread.cc:72
~My_xp_thread_server() override
Definition: my_xp_thread.cc:35
My_xp_thread_server()
Definition: my_xp_thread.cc:31
int create(PSI_thread_key key, const native_thread_attr_t *attr, native_start_routine func, void *arg) override
Creates thread.
Definition: my_xp_thread.cc:41
int create_detached(PSI_thread_key key, native_thread_attr_t *attr, native_start_routine func, void *arg) override
Creates a detached thread.
Definition: my_xp_thread.cc:47
native_thread_handle * m_thread_handle
Definition: my_xp_thread.h:131
Definition: my_xp_thread.h:144
static void exit(void *value_ptr)
Terminate invoking thread.
Definition: my_xp_thread.cc:74
static int attr_destroy(native_thread_attr_t *attr)
Destroy thread attributes object.
Definition: my_xp_thread.cc:83
static int attr_setstacksize(native_thread_attr_t *attr, size_t stacksize)
Sets the stack size attribute of the thread attributes object referred to by attr to the value specif...
Definition: my_xp_thread.cc:93
static int attr_init(native_thread_attr_t *attr)
Initialize thread attributes object.
Definition: my_xp_thread.cc:79
static void yield()
Causes the calling thread to relinquish the CPU, and to be moved to the end of the queue and another ...
Definition: my_xp_thread.cc:108
static int attr_getstacksize(native_thread_attr_t *attr, size_t *stacksize)
Returns the stack size attribute of the thread attributes object referred to by attr in the buffer po...
Definition: my_xp_thread.cc:103
static int attr_setdetachstate(native_thread_attr_t *attr, int detachstate)
Sets the detach state attribute of the thread attributes object referred to by attr to the value spec...
Definition: my_xp_thread.cc:98
static int equal(native_thread_t t1, native_thread_t t2)
Compares two thread identifiers.
Definition: my_xp_thread.cc:89
Abstract class used to wrap mutex for various platforms.
Definition: my_xp_thread.h:60
virtual int create(PSI_thread_key key, const native_thread_attr_t *attr, native_start_routine func, void *arg)=0
Creates thread.
virtual ~My_xp_thread()=default
virtual int create_detached(PSI_thread_key key, native_thread_attr_t *attr, native_start_routine func, void *arg)=0
Creates a detached thread.
virtual int join(void **value_ptr)=0
Suspend invoking thread until this thread terminates.
virtual native_thread_t * get_native_thread()=0
Retrieves native thread reference.
virtual int cancel()=0
Cancel this thread.
unsigned int PSI_thread_key
Instrumented thread key.
Definition: psi_thread_bits.h:49
Common header for many mysys elements.
Defines to make different thread packages compatible.
void *(* my_start_routine)(void *)
Definition: my_thread.h:71
pthread_attr_t my_thread_attr_t
Definition: my_thread_bits.h:48
pthread_t my_thread_t
Definition: my_thread_bits.h:47
my_thread_t native_thread_t
Definition: my_xp_thread.h:32
my_start_routine native_start_routine
Definition: my_xp_thread.h:35
my_thread_attr_t native_thread_attr_t
Definition: my_xp_thread.h:34
my_thread_handle native_thread_handle
Definition: my_xp_thread.h:33
Performance schema instrumentation interface.
required string key
Definition: replication_asynchronous_connection_failover.proto:59
Definition: my_thread_bits.h:51