Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
nikita-petko committed Jun 18, 2024
2 parents 2d4cd56 + ee5cd5b commit bd766d3
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 13 deletions.
2 changes: 1 addition & 1 deletion src/configuration/configuration/Configuration.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<PropertyGroup>
<Description>C# adaptation for @mfdlabs/environment.</Description>

<Version>1.0.5</Version>
<Version>1.0.6</Version>
</PropertyGroup>

<ItemGroup>
Expand Down
37 changes: 25 additions & 12 deletions src/configuration/configuration/Implementation/VaultProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,17 @@ protected VaultProvider(ILogger logger = null)

_logger?.Debug("VaultProvider: Setup for '{0}/{1}' to refresh every '{2}' interval!", Mount, Path, RefreshInterval);

_providers.Add(this);
lock (_providers)
{
if (_providers.Contains(this))
{
_logger?.Debug("VaultProvider: Skipping setup for '{0}/{1}' because it is already setup!", Mount, Path);

return;
}

_providers.Add(this);
}

DoRefresh();
}
Expand All @@ -173,21 +183,24 @@ private static void RefreshThread()
{
while (true)
{
var providers = _providers.ToArray();

foreach (var provider in providers)
lock (_providers)
{
try
{
provider.DoRefresh();
}
catch (Exception ex)
var providers = _providers.ToArray();

foreach (var provider in providers)
{
_staticLogger?.Error(ex);
try
{
provider.DoRefresh();
}
catch (Exception ex)
{
_staticLogger?.Error(ex);
}
}
}

Thread.Sleep(RefreshInterval); // SetClient makes DoRefresh call.
Thread.Sleep(RefreshInterval); // SetClient makes DoRefresh call.
}
}
}

Expand Down

0 comments on commit bd766d3

Please sign in to comment.