mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
small cleanups
This commit is contained in:
@ -95,26 +95,8 @@ public:
|
|||||||
*/
|
*/
|
||||||
PSI_thread *m_psi;
|
PSI_thread *m_psi;
|
||||||
void *data; /* scheduler-specific data structure */
|
void *data; /* scheduler-specific data structure */
|
||||||
#ifndef DBUG_OFF
|
|
||||||
bool set_explain;
|
|
||||||
char dbug_explain[512];
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void *thd_get_scheduler_data(THD *thd);
|
|
||||||
void thd_set_scheduler_data(THD *thd, void *data);
|
|
||||||
PSI_thread* thd_get_psi(THD *thd);
|
|
||||||
void thd_set_psi(THD *thd, PSI_thread *psi);
|
|
||||||
|
|
||||||
/* Common thread pool routines, suitable for different implementations */
|
|
||||||
extern void threadpool_remove_connection(THD *thd);
|
|
||||||
extern int threadpool_process_request(THD *thd);
|
|
||||||
extern int threadpool_add_connection(THD *thd);
|
|
||||||
|
|
||||||
|
|
||||||
extern scheduler_functions *thread_scheduler;
|
|
||||||
#endif /* SCHEDULER_INCLUDED */
|
|
||||||
|
|
||||||
#if !defined(EMBEDDED_LIBRARY)
|
#if !defined(EMBEDDED_LIBRARY)
|
||||||
#define HAVE_POOL_OF_THREADS 1
|
#define HAVE_POOL_OF_THREADS 1
|
||||||
void pool_of_threads_scheduler(scheduler_functions* func,
|
void pool_of_threads_scheduler(scheduler_functions* func,
|
||||||
@ -124,3 +106,5 @@ void pool_of_threads_scheduler(scheduler_functions* func,
|
|||||||
#define pool_of_threads_scheduler(A,B,C) \
|
#define pool_of_threads_scheduler(A,B,C) \
|
||||||
one_thread_per_connection_scheduler(A, B, C)
|
one_thread_per_connection_scheduler(A, B, C)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif /* SCHEDULER_INCLUDED */
|
||||||
|
@ -683,7 +683,6 @@ void cleanup_items(Item *item)
|
|||||||
@retval
|
@retval
|
||||||
1 request of thread shutdown (see dispatch_command() description)
|
1 request of thread shutdown (see dispatch_command() description)
|
||||||
*/
|
*/
|
||||||
int skip_net_wait_timeout = 0;
|
|
||||||
|
|
||||||
bool do_command(THD *thd)
|
bool do_command(THD *thd)
|
||||||
{
|
{
|
||||||
|
@ -10,6 +10,12 @@ extern uint threadpool_max_threads; /* Maximum threads in pool */
|
|||||||
extern uint threadpool_oversubscribe; /* Maximum active threads in group */
|
extern uint threadpool_oversubscribe; /* Maximum active threads in group */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Common thread pool routines, suitable for different implementations */
|
||||||
|
extern void threadpool_remove_connection(THD *thd);
|
||||||
|
extern int threadpool_process_request(THD *thd);
|
||||||
|
extern int threadpool_add_connection(THD *thd);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Functions used by scheduler.
|
Functions used by scheduler.
|
||||||
OS-specific implementations are in
|
OS-specific implementations are in
|
||||||
|
@ -19,6 +19,9 @@ uint threadpool_stall_limit;
|
|||||||
uint threadpool_max_threads;
|
uint threadpool_max_threads;
|
||||||
uint threadpool_oversubscribe;
|
uint threadpool_oversubscribe;
|
||||||
|
|
||||||
|
/* Stats */
|
||||||
|
TP_STATISTICS tp_stats;
|
||||||
|
|
||||||
|
|
||||||
extern "C" pthread_key(struct st_my_thread_var*, THR_KEY_mysys);
|
extern "C" pthread_key(struct st_my_thread_var*, THR_KEY_mysys);
|
||||||
extern bool do_command(THD*);
|
extern bool do_command(THD*);
|
||||||
|
@ -60,8 +60,6 @@ static PSI_thread_info thread_list[] =
|
|||||||
#define PSI_register(X) \
|
#define PSI_register(X) \
|
||||||
if(PSI_server) PSI_server->register_ ## X("threadpool", X ## _list, array_elements(X ## _list))
|
if(PSI_server) PSI_server->register_ ## X("threadpool", X ## _list, array_elements(X ## _list))
|
||||||
|
|
||||||
|
|
||||||
TP_STATISTICS tp_stats;
|
|
||||||
|
|
||||||
struct thread_group_t;
|
struct thread_group_t;
|
||||||
|
|
||||||
|
@ -17,9 +17,6 @@
|
|||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TP_STATISTICS tp_stats;
|
|
||||||
|
|
||||||
#define WEAK_SYMBOL(return_type, function, ...) \
|
#define WEAK_SYMBOL(return_type, function, ...) \
|
||||||
typedef return_type (WINAPI *pFN_##function)(__VA_ARGS__); \
|
typedef return_type (WINAPI *pFN_##function)(__VA_ARGS__); \
|
||||||
static pFN_##function my_##function = (pFN_##function) \
|
static pFN_##function my_##function = (pFN_##function) \
|
||||||
@ -136,7 +133,6 @@ static void tp_log_warning(const char *msg, const char *fct)
|
|||||||
|
|
||||||
PTP_POOL pool;
|
PTP_POOL pool;
|
||||||
DWORD fls;
|
DWORD fls;
|
||||||
extern int skip_net_wait_timeout;
|
|
||||||
|
|
||||||
static bool skip_completion_port_on_success = false;
|
static bool skip_completion_port_on_success = false;
|
||||||
|
|
||||||
@ -544,7 +540,7 @@ void tp_end(void)
|
|||||||
|
|
||||||
This would not be necessary if CloseThreadpool() would synchronously
|
This would not be necessary if CloseThreadpool() would synchronously
|
||||||
release all threads and wait until they disappear and call all their FLS
|
release all threads and wait until they disappear and call all their FLS
|
||||||
destrructors . However, threads in the pool are released asynchronously
|
destructors . However, threads in the pool are released asynchronously
|
||||||
and might spend some time in the CRT shutdown code. Thus zero
|
and might spend some time in the CRT shutdown code. Thus zero
|
||||||
num_worker_threads, to avoid thread destructor's my_thread_end()s after
|
num_worker_threads, to avoid thread destructor's my_thread_end()s after
|
||||||
this point.
|
this point.
|
||||||
@ -560,7 +556,6 @@ void tp_end(void)
|
|||||||
mysql_mutex_unlock(&THR_LOCK_threads);
|
mysql_mutex_unlock(&THR_LOCK_threads);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
skip_net_wait_timeout= 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user