Skip to content

Commit 9835a85

Browse files
nacarvalhodahlerlend
authored andcommitted
BUG#37644518: Race condition on rpl_opt_tracker [Post-fix]
Fix the compilation warning, escalated to error, on Windows: ``` sql\rpl_opt_tracker.cc(122,1): error C2220: the following warning is treated as an error sql\rpl_opt_tracker.cc(113): warning C26417: Shared pointer parameter 'service_guard' is passed by reference and not reset or reassigned. Use T* or T& instead (r.35). ``` To solve the above issue, made the parameter `service_guard` constant. Change-Id: Ia4509fd72fe2478abf8465225a7e921dea5a2680
1 parent 66bd23f commit 9835a85

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

sql/rpl_opt_tracker.cc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ bool Rpl_opt_tracker::is_replication_replica_enabled() {
110110
return replication_replica_enabled;
111111
}
112112

113-
void Rpl_opt_tracker::track(Tracker_service_guard &service_guard, bool enabled,
114-
const std::string &fname,
113+
void Rpl_opt_tracker::track(const Tracker_service_guard &service_guard,
114+
bool enabled, const std::string &fname,
115115
unsigned long long &usage_counter) {
116116
if (service_guard.is_valid()) {
117117
service_guard->set_enabled(fname.c_str(), enabled ? 1 : 0);
@@ -121,14 +121,14 @@ void Rpl_opt_tracker::track(Tracker_service_guard &service_guard, bool enabled,
121121
}
122122
}
123123

124-
void Rpl_opt_tracker::track_binary_log(Tracker_service_guard &service_guard,
125-
bool enabled) const {
124+
void Rpl_opt_tracker::track_binary_log(
125+
const Tracker_service_guard &service_guard, bool enabled) const {
126126
track(service_guard, enabled, s_f_name_binary_log,
127127
m_opt_option_tracker_usage_binary_log);
128128
}
129129

130130
void Rpl_opt_tracker::track_replication_replica(
131-
Tracker_service_guard &service_guard, bool enabled) const {
131+
const Tracker_service_guard &service_guard, bool enabled) const {
132132
track(service_guard, enabled, s_f_name_replication_replica,
133133
m_opt_option_tracker_usage_replication_replica);
134134
}

sql/rpl_opt_tracker.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ class Rpl_opt_tracker {
9999
@param fname feature name
100100
@param usage_counter feature usage counter
101101
*/
102-
static void track(Tracker_service_guard &service_guard, bool enabled,
102+
static void track(const Tracker_service_guard &service_guard, bool enabled,
103103
const std::string &fname,
104104
unsigned long long &usage_counter);
105105

@@ -113,7 +113,7 @@ class Rpl_opt_tracker {
113113
@param enabled true: tracks as enabled
114114
false: tracks as disabled
115115
*/
116-
void track_binary_log(Tracker_service_guard &service_guard,
116+
void track_binary_log(const Tracker_service_guard &service_guard,
117117
bool enabled) const;
118118

119119
/**
@@ -124,7 +124,7 @@ class Rpl_opt_tracker {
124124
@param enabled true: tracks as enabled
125125
false: tracks as disabled
126126
*/
127-
void track_replication_replica(Tracker_service_guard &service_guard,
127+
void track_replication_replica(const Tracker_service_guard &service_guard,
128128
bool enabled) const;
129129

130130
SERVICE_TYPE_NO_CONST(registry_registration) *

0 commit comments

Comments
 (0)