Clear retry_timeout when the client is destroyed
This commit is contained in:
@@ -67,6 +67,12 @@ cluster_client_t::cluster_client_t(ring_loop_t *ringloop, timerfd_manager_t *tfd
|
|||||||
|
|
||||||
cluster_client_t::~cluster_client_t()
|
cluster_client_t::~cluster_client_t()
|
||||||
{
|
{
|
||||||
|
if (retry_timeout_id >= 0)
|
||||||
|
{
|
||||||
|
tfd->clear_timer(retry_timeout_id);
|
||||||
|
retry_timeout_duration = 0;
|
||||||
|
retry_timeout_id = -1;
|
||||||
|
}
|
||||||
msgr.repeer_pgs = [](osd_num_t){};
|
msgr.repeer_pgs = [](osd_num_t){};
|
||||||
if (ringloop)
|
if (ringloop)
|
||||||
{
|
{
|
||||||
@@ -314,7 +320,7 @@ void cluster_client_t::reset_retry_timer(int new_duration)
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (retry_timeout_id)
|
if (retry_timeout_id >= 0)
|
||||||
{
|
{
|
||||||
tfd->clear_timer(retry_timeout_id);
|
tfd->clear_timer(retry_timeout_id);
|
||||||
}
|
}
|
||||||
@@ -322,7 +328,7 @@ void cluster_client_t::reset_retry_timer(int new_duration)
|
|||||||
retry_timeout_id = tfd->set_timer(retry_timeout_duration, false, [this](int)
|
retry_timeout_id = tfd->set_timer(retry_timeout_duration, false, [this](int)
|
||||||
{
|
{
|
||||||
int time_passed = retry_timeout_duration;
|
int time_passed = retry_timeout_duration;
|
||||||
retry_timeout_id = 0;
|
retry_timeout_id = -1;
|
||||||
retry_timeout_duration = 0;
|
retry_timeout_duration = 0;
|
||||||
continue_ops(time_passed);
|
continue_ops(time_passed);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ class cluster_client_t
|
|||||||
int client_eio_retry_interval = 1000; // ms
|
int client_eio_retry_interval = 1000; // ms
|
||||||
bool client_retry_enospc = true;
|
bool client_retry_enospc = true;
|
||||||
|
|
||||||
int retry_timeout_id = 0;
|
int retry_timeout_id = -1;
|
||||||
int retry_timeout_duration = 0;
|
int retry_timeout_duration = 0;
|
||||||
std::vector<cluster_op_t*> offline_ops;
|
std::vector<cluster_op_t*> offline_ops;
|
||||||
cluster_op_t *op_queue_head = NULL, *op_queue_tail = NULL;
|
cluster_op_t *op_queue_head = NULL, *op_queue_tail = NULL;
|
||||||
|
|||||||
Reference in New Issue
Block a user