summaryrefslogtreecommitdiff
path: root/storage/innobase/fts
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@mariadb.com>2020-06-03 17:39:33 +0200
committerVladislav Vaintroub <wlad@mariadb.com>2020-06-03 17:39:33 +0200
commite7bab059b764bc58ee14e182b51f90c47a6c8e17 (patch)
tree97ee81ddb489d7812e002f6f215c17d8cebb18d6 /storage/innobase/fts
parent4c522234939aa58fb6c03551de45418252a02778 (diff)
downloadmariadb-git-e7bab059b764bc58ee14e182b51f90c47a6c8e17.tar.gz
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.
Diffstat (limited to 'storage/innobase/fts')
-rw-r--r--storage/innobase/fts/fts0opt.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/storage/innobase/fts/fts0opt.cc b/storage/innobase/fts/fts0opt.cc
index 325d1366f72..8dcaa05ef06 100644
--- a/storage/innobase/fts/fts0opt.cc
+++ b/storage/innobase/fts/fts0opt.cc
@@ -42,6 +42,7 @@ ib_wqueue_t* fts_optimize_wq;
static void fts_optimize_callback(void *);
static void timer_callback(void*);
static tpool::timer* timer;
+
static tpool::task_group task_group(1);
static tpool::task task(fts_optimize_callback,0, &task_group);
@@ -3014,6 +3015,7 @@ fts_optimize_shutdown()
/* We tell the OPTIMIZE thread to switch to state done, we
can't delete the work queue here because the add thread needs
deregister the FTS tables. */
+ timer->disarm();
task_group.cancel_pending(&task);
msg = fts_optimize_create_msg(FTS_MSG_STOP, NULL);