aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-02-24 00:36:58 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-02-24 00:36:58 -0500
commitf5df8253aef6ca4a32d2efa56064219beed0df6c (patch)
tree85b7f1252fbcfacd5af28a77b543ed4a95042bb8 /MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs
parent94fa4dce4d78eeba45347b9ec0c7167957b70395 (diff)
update locking
Diffstat (limited to 'MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs')
-rw-r--r--MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs24
1 files changed, 10 insertions, 14 deletions
diff --git a/MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs b/MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs
index ff11c889a..1b5e260d7 100644
--- a/MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs
+++ b/MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs
@@ -20,7 +20,7 @@ namespace MediaBrowser.Common.Implementations.Networking
Logger = logger;
}
- private volatile List<IPAddress> _localIpAddresses;
+ private List<IPAddress> _localIpAddresses;
private readonly object _localIpAddressSyncLock = new object();
/// <summary>
@@ -29,24 +29,20 @@ namespace MediaBrowser.Common.Implementations.Networking
/// <returns>IPAddress.</returns>
public IEnumerable<IPAddress> GetLocalIpAddresses()
{
- const int cacheMinutes = 3;
- var forceRefresh = (DateTime.UtcNow - _lastRefresh).TotalMinutes >= cacheMinutes;
+ const int cacheMinutes = 5;
- if (_localIpAddresses == null || forceRefresh)
+ lock (_localIpAddressSyncLock)
{
- lock (_localIpAddressSyncLock)
- {
- forceRefresh = (DateTime.UtcNow - _lastRefresh).TotalMinutes >= cacheMinutes;
+ var forceRefresh = (DateTime.UtcNow - _lastRefresh).TotalMinutes >= cacheMinutes;
- if (_localIpAddresses == null || forceRefresh)
- {
- var addresses = GetLocalIpAddressesInternal().ToList();
+ if (_localIpAddresses == null || forceRefresh)
+ {
+ var addresses = GetLocalIpAddressesInternal().ToList();
- _localIpAddresses = addresses;
- _lastRefresh = DateTime.UtcNow;
+ _localIpAddresses = addresses;
+ _lastRefresh = DateTime.UtcNow;
- return addresses;
- }
+ return addresses;
}
}