# ==== Purpose ====
#
# Waits until the IO thread of the current connection has stopped
# gracefully.
# Note: this script will fail if the IO thread stops with an error.
# If you expect an error in the IO thread, use
# include/wait_for_slave_io_error.inc instead.
# This script also fails if a timeout is reached (default 300
# seconds).
# ==== Usage ====
# [--let $slave_timeout= NUMBER]
# [--let $rpl_debug= 1]
# --source include/wait_for_slave_io_to_stop.inc
# Parameters:
# $slave_timeout
# See include/wait_for_slave_param.inc.
# $rpl_allow_error
# By default, this file fails if there is an error in the IO
# thread. However, if an error in the IO thread is possible and allowed,
# setting $rpl_allow_error=1 will prevent this file from failing if
# there is an error in the IO thread.
# (If an error is _always_ expected, a better alternative might be to
# use wait_for_slave_io_error.inc instead of this file).
# Note: This is currently always enabled, since a simple STOP SLAVE
# IO_THREAD can cause an error if it interrupts the slave's initial
# communication with the master (MDEV-32892).
# $rpl_debug
# See include/rpl_init.inc
--let $include_filename= wait_for_slave_io_to_stop.inc
--source include/begin_include_file.inc
--let $slave_param= Slave_IO_Running
--let $slave_param_value= No
--let $_io_stop_save_allow_error= $slave_error_param
# Disabled, as IO errors are left behind when a normal STOP SLAVE interrupts
# the initial communication between the IO thread and the master (MDEV-32892).
#if (!$rpl_allow_error)
#{
# --let $slave_error_param= Last_IO_Errno
#}
--source include/wait_for_slave_param.inc
--let $slave_error_param= $_io_stop_save_allow_error
--source include/end_include_file.inc