Skip to content
This repository was archived by the owner on Apr 8, 2025. It is now read-only.

Commit 4ce701a

Browse files
committed
Add thread safe storage credential update
1 parent 100c4d8 commit 4ce701a

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

Microsoft.WindowsAzure.Storage/includes/was/service_client.h

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,22 @@ namespace azure { namespace storage {
7474
/// Gets the storage account credentials for the service client.
7575
/// </summary>
7676
/// <returns>The storage account credentials for the service client.</returns>
77-
const azure::storage::storage_credentials& credentials() const
77+
const azure::storage::storage_credentials& credentials()
7878
{
79+
pplx::extensibility::scoped_read_lock_t guard(m_mutex);
7980
return m_credentials;
8081
}
8182

83+
/// <summary>
84+
/// Sets the storage credentials to use for the service client.
85+
/// </summary>
86+
/// <param name="credentials">The <see cref="azure::storage::storage_credentials" /> to use.</param>
87+
void set_storage_credentials(azure::storage::storage_credentials credentials)
88+
{
89+
pplx::extensibility::scoped_rw_lock_t guard(m_mutex);
90+
m_credentials = std::move(credentials);
91+
}
92+
8293
/// <summary>
8394
/// Gets the authentication scheme to use to sign HTTP requests for the service client.
8495
/// </summary>
@@ -150,6 +161,7 @@ namespace azure { namespace storage {
150161

151162
private:
152163

164+
pplx::extensibility::reader_writer_lock_t m_mutex;
153165
storage_uri m_base_uri;
154166
azure::storage::storage_credentials m_credentials;
155167
azure::storage::authentication_scheme m_authentication_scheme;

0 commit comments

Comments
 (0)