24#ifndef MYSQL_CSA_SESSION_H
25#define MYSQL_CSA_SESSION_H
54 void awake(
bool force_kill);
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
int is_killed() const final
Has the owner thread been killed?
Definition: sql_class.h:3145
Implementation of a spin-lock mutex.
Definition: spin_lock_mutex.h:59
Wraps up THD object and provides simple function to manage its execution within CSA.
Definition: session.h:34
void awake(bool force_kill)
Awakes the handled session.
Definition: session.cpp:121
bool self_killed() const
Check if CSA killed this session.
Definition: session.h:62
const char * m_saved_thread_stack
Saved THD stack.
Definition: session.h:72
bool is_valid() const
Checks if created session is valid True when session is valid, false otherwise.
Definition: session.cpp:83
bool m_is_killed
We save our own kill flag and protect modifications with LOCK_thd_data.
Definition: session.h:80
THD * get_thd()
Obtains THD handle.
Definition: session.cpp:87
void detach()
Detach current thread from session.
Definition: session.cpp:107
bool m_is_attached
Attach flag.
Definition: session.h:78
Session(THD *parent_thd, std::size_t seq_num)
Construct from configuration in parent_thd.
Definition: session.cpp:37
virtual ~Session()
Destructor.
Definition: session.cpp:70
long m_stack_ptr
Saved stack pointer.
Definition: session.h:74
bool m_is_valid
Validity flag.
Definition: session.h:76
concurrency::Spin_lock_mutex m_session_lock
Session lock for protecting attach/detach operations.
Definition: session.h:84
THD * m_thd
The base server session associated with this processor.
Definition: session.h:68
bool is_killed() const
Definition: session.h:64
unsigned int get_thd_id() const
Obtains handled THD identifier.
Definition: session.cpp:85
void attach(TABLE *temporary_tables)
Attach current thread to session.
Definition: session.cpp:92
ulonglong get_thread_id() const
Obtains thread identifier.
Definition: session.cpp:68
ulonglong m_psi_id
PSI thread id.
Definition: session.h:70
unsigned long long int ulonglong
Definition: my_inttypes.h:56
Definition: channel.cpp:28