Commit e7bab059 authored by Vladislav Vaintroub's avatar Vladislav Vaintroub

MDEV-22787 postfix

Ensure that FTS_MSG_STOP is the very last message, and nothing comes after
it in fts_optimize_shutdown.

Stop the timer to ensure that.
parent 4c522234
...@@ -42,6 +42,7 @@ ib_wqueue_t* fts_optimize_wq; ...@@ -42,6 +42,7 @@ ib_wqueue_t* fts_optimize_wq;
static void fts_optimize_callback(void *); static void fts_optimize_callback(void *);
static void timer_callback(void*); static void timer_callback(void*);
static tpool::timer* timer; static tpool::timer* timer;
static tpool::task_group task_group(1); static tpool::task_group task_group(1);
static tpool::task task(fts_optimize_callback,0, &task_group); static tpool::task task(fts_optimize_callback,0, &task_group);
...@@ -3014,6 +3015,7 @@ fts_optimize_shutdown() ...@@ -3014,6 +3015,7 @@ fts_optimize_shutdown()
/* We tell the OPTIMIZE thread to switch to state done, we /* We tell the OPTIMIZE thread to switch to state done, we
can't delete the work queue here because the add thread needs can't delete the work queue here because the add thread needs
deregister the FTS tables. */ deregister the FTS tables. */
timer->disarm();
task_group.cancel_pending(&task); task_group.cancel_pending(&task);
msg = fts_optimize_create_msg(FTS_MSG_STOP, NULL); msg = fts_optimize_create_msg(FTS_MSG_STOP, NULL);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment