rework device concurrency

pull/702/head
Luke Pulverenti 9 years ago
parent 4d04acb321
commit 80ea0f06f3

@ -25,7 +25,7 @@ namespace MediaBrowser.Server.Implementations.Devices
private readonly ILogger _logger; private readonly ILogger _logger;
private readonly IFileSystem _fileSystem; private readonly IFileSystem _fileSystem;
private ConcurrentBag<DeviceInfo> _devices; private List<DeviceInfo> _devices;
public DeviceRepository(IApplicationPaths appPaths, IJsonSerializer json, ILogger logger, IFileSystem fileSystem) public DeviceRepository(IApplicationPaths appPaths, IJsonSerializer json, ILogger logger, IFileSystem fileSystem)
{ {
@ -93,17 +93,14 @@ namespace MediaBrowser.Server.Implementations.Devices
public IEnumerable<DeviceInfo> GetDevices() public IEnumerable<DeviceInfo> GetDevices()
{ {
if (_devices == null) lock (_syncLock)
{ {
lock (_syncLock) if (_devices == null)
{ {
if (_devices == null) _devices = LoadDevices().ToList();
{
_devices = new ConcurrentBag<DeviceInfo>(LoadDevices());
}
} }
return _devices.ToList();
} }
return _devices.ToList();
} }
private IEnumerable<DeviceInfo> LoadDevices() private IEnumerable<DeviceInfo> LoadDevices()

Loading…
Cancel
Save