diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-02-24 00:36:58 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-02-24 00:36:58 -0500 |
| commit | f5df8253aef6ca4a32d2efa56064219beed0df6c (patch) | |
| tree | 85b7f1252fbcfacd5af28a77b543ed4a95042bb8 /MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs | |
| parent | 94fa4dce4d78eeba45347b9ec0c7167957b70395 (diff) | |
update locking
Diffstat (limited to 'MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs')
| -rw-r--r-- | MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs | 24 |
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; } } |
