diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-04-16 23:31:19 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-04-16 23:31:19 -0400 |
| commit | fd261cecf75dc6e5f9e617578e7c648477eb74a5 (patch) | |
| tree | 60230a6a29bdff7da8b76f6bfbeb2028c4a8fbaa /MediaBrowser.Controller | |
| parent | 6bd18c6e72d1c4ba9c371d37411ebd918d8c6d9e (diff) | |
resolve photo scan hang
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 18 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Providers/MetadataStatus.cs | 40 |
3 files changed, 11 insertions, 51 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 10fa4adad..73ede8179 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1,5 +1,4 @@ -using System.Globalization; -using MediaBrowser.Common.Extensions; +using MediaBrowser.Common.Extensions; using MediaBrowser.Common.IO; using MediaBrowser.Controller.Channels; using MediaBrowser.Controller.Collections; @@ -18,6 +17,7 @@ using MediaBrowser.Model.Logging; using MediaBrowser.Model.Users; using System; using System.Collections.Generic; +using System.Globalization; using System.IO; using System.Linq; using System.Runtime.Serialization; diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 975f3e394..821e6b5ca 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -164,18 +164,22 @@ namespace MediaBrowser.Controller.Entities protected void AddChildrenInternal(IEnumerable<BaseItem> children) { + var actualChildren = ActualChildren; + lock (_childrenSyncLock) { - var newChildren = ActualChildren.ToList(); + var newChildren = actualChildren.ToList(); newChildren.AddRange(children); _children = newChildren; } } protected void AddChildInternal(BaseItem child) { + var actualChildren = ActualChildren; + lock (_childrenSyncLock) { - var newChildren = ActualChildren.ToList(); + var newChildren = actualChildren.ToList(); newChildren.Add(child); _children = newChildren; } @@ -184,10 +188,11 @@ namespace MediaBrowser.Controller.Entities protected void RemoveChildrenInternal(IEnumerable<BaseItem> children) { var ids = children.Select(i => i.Id).ToList(); + var actualChildren = ActualChildren; lock (_childrenSyncLock) { - _children = ActualChildren.Where(i => !ids.Contains(i.Id)).ToList(); + _children = actualChildren.Where(i => !ids.Contains(i.Id)).ToList(); } } @@ -302,7 +307,7 @@ namespace MediaBrowser.Controller.Entities { if (_children == null) { - _children = LoadChildrenInternal(); + _children = LoadChildren().ToList(); } } } @@ -356,11 +361,6 @@ namespace MediaBrowser.Controller.Entities return base.IsVisible(user); } - private List<BaseItem> LoadChildrenInternal() - { - return LoadChildren().ToList(); - } - /// <summary> /// Loads our children. Validation will occur externally. /// We want this sychronous. diff --git a/MediaBrowser.Controller/Providers/MetadataStatus.cs b/MediaBrowser.Controller/Providers/MetadataStatus.cs index 12844c3c4..283b9edbc 100644 --- a/MediaBrowser.Controller/Providers/MetadataStatus.cs +++ b/MediaBrowser.Controller/Providers/MetadataStatus.cs @@ -1,6 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; namespace MediaBrowser.Controller.Providers { @@ -54,13 +52,6 @@ namespace MediaBrowser.Controller.Providers /// <value>The last result error message.</value> public string LastErrorMessage { get; set; } - /// <summary> - /// Gets or sets the providers refreshed. - /// </summary> - /// <value>The providers refreshed.</value> - public List<Guid> MetadataProvidersRefreshed { get; set; } - public List<Guid> ImageProvidersRefreshed { get; set; } - public DateTime? ItemDateModified { get; set; } public void AddStatus(ProviderRefreshStatus status, string errorMessage) @@ -83,9 +74,6 @@ namespace MediaBrowser.Controller.Providers public MetadataStatus() { LastStatus = ProviderRefreshStatus.Success; - - MetadataProvidersRefreshed = new List<Guid>(); - ImageProvidersRefreshed = new List<Guid>(); } public bool IsDirty { get; private set; } @@ -109,33 +97,5 @@ namespace MediaBrowser.Controller.Providers DateLastImagesRefresh = date; } - - public void AddImageProvidersRefreshed(List<Guid> providerIds) - { - var count = ImageProvidersRefreshed.Count; - - providerIds.AddRange(ImageProvidersRefreshed); - - ImageProvidersRefreshed = providerIds.Distinct().ToList(); - - if (ImageProvidersRefreshed.Count != count) - { - IsDirty = true; - } - } - - public void AddMetadataProvidersRefreshed(List<Guid> providerIds) - { - var count = MetadataProvidersRefreshed.Count; - - providerIds.AddRange(MetadataProvidersRefreshed); - - MetadataProvidersRefreshed = providerIds.Distinct().ToList(); - - if (MetadataProvidersRefreshed.Count != count) - { - IsDirty = true; - } - } } } |
