summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCollin <iCollin@users.noreply.github.com>2021-09-10 08:52:05 -0400
committerGitHub <noreply@github.com>2021-09-10 08:52:05 -0400
commit5da57703e02fdf526c300cc26a45ff75f7d1ffd0 (patch)
tree818a778222dbd0083fedeac042bc62a0fb51f3f8
parent28e1fdbb56f022459203c11fc4f71fe17bf6c350 (diff)
downloadsdl_core-5da57703e02fdf526c300cc26a45ff75f7d1ffd0.tar.gz
fix WebSocketServerTransportAdapter::Store write to last state (#3772)
* WebSocketServerTransportAdapter::Store write to last state * hold lock until we set dict or decide not to
-rw-r--r--src/components/transport_manager/src/websocket_server/websocket_server_transport_adapter.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/components/transport_manager/src/websocket_server/websocket_server_transport_adapter.cc b/src/components/transport_manager/src/websocket_server/websocket_server_transport_adapter.cc
index 18c6ad9be1..9c02b78872 100644
--- a/src/components/transport_manager/src/websocket_server/websocket_server_transport_adapter.cc
+++ b/src/components/transport_manager/src/websocket_server/websocket_server_transport_adapter.cc
@@ -102,7 +102,8 @@ void WebSocketServerTransportAdapter::Store() const {
if (webengine_device_) {
resumption::LastStateAccessor accessor =
last_state_wrapper_->get_accessor();
- Json::Value dictionary = accessor.GetData().dictionary();
+ resumption::LastState& data = accessor.GetMutableData();
+ Json::Value dictionary = data.dictionary();
if (dictionary["TransportManager"].isMember("WebsocketServerAdapter")) {
SDL_LOG_DEBUG(
"WebsocketServerAdapter already exists. Storing is skipped");
@@ -116,6 +117,8 @@ void WebSocketServerTransportAdapter::Store() const {
ws_adapter_dictionary["device"] = device_dictionary;
dictionary["TransportManager"]["WebsocketServerAdapter"] =
ws_adapter_dictionary;
+
+ data.set_dictionary(dictionary);
}
}