mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
08d61de720
storage/maria/CMakeLists.txt: Added files of service thread framework. storage/maria/Makefile.am: Added files of service thread framework. storage/maria/ma_checkpoint.c: Separated service thread framework. storage/maria/ma_servicethread.c: Added files of service thread framework. storage/maria/ma_servicethread.h: Added files of service thread framework.
22 lines
814 B
C
22 lines
814 B
C
#include <my_pthread.h>
|
|
|
|
enum ma_service_thread_state {THREAD_RUNNING, THREAD_DYING, THREAD_DEAD};
|
|
|
|
typedef struct st_ma_service_thread_control
|
|
{
|
|
/** 'kill' flag for the background thread */
|
|
enum ma_service_thread_state status;
|
|
/** if thread module was inited or not */
|
|
my_bool inited;
|
|
/** for killing the background thread */
|
|
pthread_mutex_t *LOCK_control;
|
|
/** for killing the background thread */
|
|
pthread_cond_t *COND_control;
|
|
} MA_SERVICE_THREAD_CONTROL;
|
|
|
|
|
|
int ma_service_thread_control_init(MA_SERVICE_THREAD_CONTROL *control);
|
|
void ma_service_thread_control_end(MA_SERVICE_THREAD_CONTROL *control);
|
|
my_bool my_service_thread_sleep(MA_SERVICE_THREAD_CONTROL *control,
|
|
ulonglong sleep_time);
|
|
void my_service_thread_signal_end(MA_SERVICE_THREAD_CONTROL *control);
|