summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2017-05-26 18:40:49 +0300
committerIvo van Dongen <ivovandongen@users.noreply.github.com>2017-05-27 10:05:36 +0300
commit5cf0fc0f8bb3f66fd7844cae73efca1a4c2d94f5 (patch)
tree7eeaf0d37926bcbda1dc4dea07d79dfbfa9c41d0 /platform
parent89129379f18b913a7c2b7a7ff99644e277e9d3ff (diff)
downloadqtlocation-mapboxgl-5cf0fc0f8bb3f66fd7844cae73efca1a4c2d94f5.tar.gz
[core] default file source - ensure thread safety for cached values
Diffstat (limited to 'platform')
-rw-r--r--platform/default/default_file_source.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/platform/default/default_file_source.cpp b/platform/default/default_file_source.cpp
index 142be5228f..adb3f6a83d 100644
--- a/platform/default/default_file_source.cpp
+++ b/platform/default/default_file_source.cpp
@@ -197,19 +197,29 @@ DefaultFileSource::~DefaultFileSource() = default;
void DefaultFileSource::setAPIBaseURL(const std::string& baseURL) {
thread->invoke(&Impl::setAPIBaseURL, baseURL);
- cachedBaseURL = baseURL;
+
+ {
+ std::lock_guard<std::mutex> lock(cachedBaseURLMutex);
+ cachedBaseURL = baseURL;
+ }
}
-std::string DefaultFileSource::getAPIBaseURL() const {
+std::string DefaultFileSource::getAPIBaseURL() {
+ std::lock_guard<std::mutex> lock(cachedBaseURLMutex);
return cachedBaseURL;
}
void DefaultFileSource::setAccessToken(const std::string& accessToken) {
thread->invoke(&Impl::setAccessToken, accessToken);
- cachedAccessToken = accessToken;
+
+ {
+ std::lock_guard<std::mutex> lock(cachedAccessTokenMutex);
+ cachedAccessToken = accessToken;
+ }
}
-std::string DefaultFileSource::getAccessToken() const {
+std::string DefaultFileSource::getAccessToken() {
+ std::lock_guard<std::mutex> lock(cachedAccessTokenMutex);
return cachedAccessToken;
}