24#ifndef MY_XP_THREAD_INCLUDED 
   25#define MY_XP_THREAD_INCLUDED 
   27#ifndef XCOM_STANDALONE 
   38#define NATIVE_THREAD_CREATE_DETACHED MY_THREAD_CREATE_DETACHED 
   39#define NATIVE_THREAD_CREATE_JOINABLE MY_THREAD_CREATE_JOINABLE 
   96  virtual int join(
void **value_ptr) = 0;
 
  117#ifndef XCOM_STANDALONE 
  127  int join(
void **value_ptr) 
override;
 
  136#ifndef XCOM_STANDALONE 
  153  static void exit(
void *value_ptr);
 
Definition: my_xp_thread.h:139
 
My_xp_thread_impl()=default
 
~My_xp_thread_impl() override=default
 
Definition: my_xp_thread.h:118
 
int join(void **value_ptr) override
Suspend invoking thread until this thread terminates.
Definition: my_xp_thread.cc:69
 
native_thread_t * get_native_thread() override
Retrieves native thread reference.
Definition: my_xp_thread.cc:38
 
int cancel() override
Cancel this thread.
Definition: my_xp_thread.cc:73
 
~My_xp_thread_server() override
Definition: my_xp_thread.cc:36
 
My_xp_thread_server()
Definition: my_xp_thread.cc:32
 
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:42
 
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:48
 
native_thread_handle * m_thread_handle
Definition: my_xp_thread.h:132
 
Definition: my_xp_thread.h:145
 
static void exit(void *value_ptr)
Terminate invoking thread.
Definition: my_xp_thread.cc:75
 
static int attr_destroy(native_thread_attr_t *attr)
Destroy thread attributes object.
Definition: my_xp_thread.cc:84
 
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:94
 
static int attr_init(native_thread_attr_t *attr)
Initialize thread attributes object.
Definition: my_xp_thread.cc:80
 
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:109
 
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:104
 
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:99
 
static int equal(native_thread_t t1, native_thread_t t2)
Compares two thread identifiers.
Definition: my_xp_thread.cc:90
 
Abstract class used to wrap mutex for various platforms.
Definition: my_xp_thread.h:61
 
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:50
 
Common header for many mysys elements.
 
Defines to make different thread packages compatible.
 
void *(* my_start_routine)(void *)
Definition: my_thread.h:72
 
pthread_attr_t my_thread_attr_t
Definition: my_thread_bits.h:49
 
pthread_t my_thread_t
Definition: my_thread_bits.h:48
 
my_thread_t native_thread_t
Definition: my_xp_thread.h:33
 
my_start_routine native_start_routine
Definition: my_xp_thread.h:36
 
my_thread_attr_t native_thread_attr_t
Definition: my_xp_thread.h:35
 
my_thread_handle native_thread_handle
Definition: my_xp_thread.h:34
 
Performance schema instrumentation interface.
 
required string key
Definition: replication_asynchronous_connection_failover.proto:60
 
Definition: my_thread_bits.h:52