Skip to content

Commit a17932a

Browse files
Connection status stuff is now atomic.
1 parent fc79f68 commit a17932a

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

include/aws/crt/mqtt/MqttClient.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
#include <functional>
2323
#include <memory>
24+
#include <atomic>
2425

2526
namespace Aws
2627
{
@@ -163,8 +164,8 @@ namespace Aws
163164
OnConnectionFailedHandler m_onConnectionFailed;
164165
OnConnAckHandler m_onConnAck;
165166
OnDisconnectHandler m_onDisconnect;
166-
int m_lastError;
167-
ConnectionState m_connectionState;
167+
std::atomic<int> m_lastError;
168+
std::atomic<ConnectionState> m_connectionState;
168169

169170
static void s_onConnectionFailed(aws_mqtt_client_connection* connection, int errorCode, void* userData);
170171
static void s_onConnAck(aws_mqtt_client_connection* connection,

source/mqtt/MqttClient.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,10 @@ namespace Aws
181181
m_onConnectionFailed(std::move(toMove.m_onConnectionFailed)),
182182
m_onConnAck(std::move(toMove.m_onConnAck)),
183183
m_onDisconnect(std::move(toMove.m_onDisconnect)),
184-
m_lastError(toMove.m_lastError),
185-
m_connectionState(toMove.m_connectionState)
184+
m_lastError(toMove.m_lastError.load()),
185+
m_connectionState(toMove.m_connectionState.load())
186186
{
187+
187188
toMove.m_owningClient = nullptr;
188189
toMove.m_underlyingConnection = nullptr;
189190
toMove.m_lastError = AWS_ERROR_UNKNOWN;
@@ -202,8 +203,8 @@ namespace Aws
202203
m_onConnectionFailed = std::move(toMove.m_onConnectionFailed);
203204
m_onConnAck = std::move(toMove.m_onConnAck);
204205
m_onDisconnect = std::move(toMove.m_onDisconnect);
205-
m_lastError = toMove.m_lastError;
206-
m_connectionState = toMove.m_connectionState;
206+
m_lastError = toMove.m_lastError.load();
207+
m_connectionState = toMove.m_connectionState.load();
207208

208209
toMove.m_owningClient = nullptr;
209210
toMove.m_underlyingConnection = nullptr;

0 commit comments

Comments
 (0)