aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-25 14:05:21 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-25 14:05:21 -0400
commit736095049616d7cbf575106fb27793b486c41c46 (patch)
tree6edd60eae7eed1fde65b9a6cff235462c070c317 /MediaBrowser.Server.Implementations/Library
parent2d9b48d00fd31aaa96676c82a054b2794493fbf9 (diff)
reduce locking on folder children
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library')
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs11
-rw-r--r--MediaBrowser.Server.Implementations/Library/ResolverHelper.cs2
2 files changed, 11 insertions, 2 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index 1bc3f1094..15eb182a3 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -1346,7 +1346,16 @@ namespace MediaBrowser.Server.Implementations.Library
/// <returns>BaseItem.</returns>
public BaseItem RetrieveItem(Guid id)
{
- return ItemRepository.RetrieveItem(id);
+ var item = ItemRepository.RetrieveItem(id);
+
+ var folder = item as Folder;
+
+ if (folder != null)
+ {
+ folder.LoadSavedChildren();
+ }
+
+ return item;
}
private readonly ConcurrentDictionary<string, SemaphoreSlim> _fileLocks = new ConcurrentDictionary<string, SemaphoreSlim>();
diff --git a/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs b/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs
index 8b98a6944..a6b13f8dd 100644
--- a/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs
+++ b/MediaBrowser.Server.Implementations/Library/ResolverHelper.cs
@@ -20,7 +20,7 @@ namespace MediaBrowser.Server.Implementations.Library
/// <param name="args">The args.</param>
public static void SetInitialItemValues(BaseItem item, ItemResolveArgs args)
{
- item.ResolveArgs = args;
+ item.ResetResolveArgs(args);
// If the resolver didn't specify this
if (string.IsNullOrEmpty(item.Path))