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:3137
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:122
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:84
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:88
void detach()
Detach current thread from session.
Definition: session.cpp:108
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:71
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:86
void attach(TABLE *temporary_tables)
Attach current thread to session.
Definition: session.cpp:93
ulonglong get_thread_id() const
Obtains thread identifier.
Definition: session.cpp:69
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