mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
More work on interfaces
This commit is contained in:
parent
b04b333e25
commit
fef450b17f
3 changed files with 51 additions and 8 deletions
|
@ -59,6 +59,7 @@ bool thd_is_transaction_active(THD *thd);
|
|||
int thd_connection_has_data(THD *thd);
|
||||
void thd_set_net_read_write(THD *thd, uint val);
|
||||
void thd_set_mysys_var(THD *thd, st_my_thread_var *mysys_var);
|
||||
my_socket thd_get_fd(THD *thd);
|
||||
|
||||
/*
|
||||
The thread pool must be able to execute commands using the connection
|
||||
|
@ -85,14 +86,16 @@ bool init_new_connection_handler_thread();
|
|||
/*
|
||||
thread_created is maintained by thread pool when activated since
|
||||
user threads are created by the thread pool (and also special
|
||||
threads to maintain the thread pool).
|
||||
threads to maintain the thread pool). This is done through
|
||||
inc_thread_created.
|
||||
max_connections is needed to calculate the maximum number of threads
|
||||
that is allowed to be started by the thread pool.
|
||||
that is allowed to be started by the thread pool. The method
|
||||
get_max_connections() gets reference to this variable.
|
||||
connection_attrib is the thread attributes for connection threads,
|
||||
the method get_connection_attrib provides a reference to these
|
||||
attributes.
|
||||
*/
|
||||
extern MYSQL_PLUGIN_IMPORT ulong thread_created;
|
||||
extern MYSQL_PLUGIN_IMPORT ulong max_connections;
|
||||
extern MYSQL_PLUGIN_IMPORT mysql_cond_t COND_thread_count;
|
||||
extern MYSQL_PLUGIN_IMPORT pthread_attr_t connection_attrib;
|
||||
/* extern MYSQL_PLUGIN_IMPORT I_List<THD> threads; */
|
||||
extern MYSQL_PLUGIN_IMPORT PSI_thread_key key_thread_one_connection;
|
||||
pthread_attr_t *get_connection_attrib(void);
|
||||
void inc_thread_created(void);
|
||||
ulong get_max_connections(void);
|
||||
#endif
|
||||
|
|
|
@ -4895,6 +4895,14 @@ static bool read_init_file(char *file_name)
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
Increment number of created threads
|
||||
*/
|
||||
void inc_thread_created(void)
|
||||
{
|
||||
thread_created++;
|
||||
}
|
||||
|
||||
#ifndef EMBEDDED_LIBRARY
|
||||
|
||||
/*
|
||||
|
|
|
@ -433,6 +433,38 @@ void thd_set_mysys_var(THD *thd, st_my_thread_var *mysys_var)
|
|||
thd->set_mysys_var(mysys_var);
|
||||
}
|
||||
|
||||
/**
|
||||
Get socket file descriptor for this connection
|
||||
|
||||
@param thd THD object
|
||||
|
||||
@retval Socket of the connection
|
||||
*/
|
||||
my_socket thd_get_fd(THD *thd)
|
||||
{
|
||||
return thd->net.vio->sd;
|
||||
}
|
||||
|
||||
/**
|
||||
Get thread attributes for connection threads
|
||||
|
||||
@retval Reference to thread attribute for connection threads
|
||||
*/
|
||||
pthread_attr_t *get_connection_attrib(void)
|
||||
{
|
||||
return &connection_attrib;
|
||||
}
|
||||
|
||||
/**
|
||||
Get max number of connections
|
||||
|
||||
@retval Max number of connections for MySQL Server
|
||||
*/
|
||||
ulong get_max_connections(void)
|
||||
{
|
||||
return max_connections;
|
||||
}
|
||||
|
||||
/*
|
||||
The following functions form part of the C plugin API
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue