diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-09-12 15:38:38 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-09-12 15:38:38 -0400 |
| commit | 32b442d8c92bd75a0beba0affc32a133fce4c73c (patch) | |
| tree | c882876e33f0bdba2b397344d9c0af857880ba22 /MediaBrowser.Server.Startup.Common/ApplicationHost.cs | |
| parent | 2d36b262fe47642f3a370e61f3c8f05cf644962b (diff) | |
fix mono build
Diffstat (limited to 'MediaBrowser.Server.Startup.Common/ApplicationHost.cs')
| -rw-r--r-- | MediaBrowser.Server.Startup.Common/ApplicationHost.cs | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs index 3c8c5bf55..3de2f5ddf 100644 --- a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs +++ b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs @@ -1177,20 +1177,24 @@ namespace MediaBrowser.Server.Startup.Common public async Task<List<IPAddress>> GetLocalIpAddresses() { - var localAddresses = NetworkManager.GetLocalIpAddresses() - .Where(IsIpAddressValid) - .ToList(); + var addresses = NetworkManager.GetLocalIpAddresses().ToList(); + var list = new List<IPAddress>(); - return localAddresses; + foreach (var address in addresses) + { + var valid = await IsIpAddressValidAsync(address).ConfigureAwait(false); + if (valid) + { + list.Add(address); + } + } + + return list; } private readonly ConcurrentDictionary<string, bool> _validAddressResults = new ConcurrentDictionary<string, bool>(StringComparer.OrdinalIgnoreCase); private DateTime _lastAddressCacheClear; - private bool IsIpAddressValid(IPAddress address) - { - return IsIpAddressValidInternal(address).Result; - } - private async Task<bool> IsIpAddressValidInternal(IPAddress address) + private async Task<bool> IsIpAddressValidAsync(IPAddress address) { if (IPAddress.IsLoopback(address)) { |
