From 791d64ceed95bd08f3d5aae00a5a9c3c0dabde8e Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 25 Sep 2013 18:41:25 -0400 Subject: removed locking from resolve args --- MediaBrowser.Controller/Entities/BaseItem.cs | 42 +++++++++++----------------- 1 file changed, 16 insertions(+), 26 deletions(-) (limited to 'MediaBrowser.Controller/Entities') diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 6543275a5..497226dbb 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -304,14 +304,6 @@ namespace MediaBrowser.Controller.Entities /// private ItemResolveArgs _resolveArgs; /// - /// The _resolve args initialized - /// - private bool _resolveArgsInitialized; - /// - /// The _resolve args sync lock - /// - private object _resolveArgsSyncLock = new object(); - /// /// We attach these to the item so that we only ever have to hit the file system once /// (this includes the children of the containing folder) /// @@ -321,26 +313,24 @@ namespace MediaBrowser.Controller.Entities { get { - try - { - LazyInitializer.EnsureInitialized(ref _resolveArgs, ref _resolveArgsInitialized, ref _resolveArgsSyncLock, () => CreateResolveArgs()); - } - catch (IOException ex) + if (_resolveArgs == null) { - Logger.ErrorException("Error creating resolve args for {0}", ex, Path); + try + { + _resolveArgs = CreateResolveArgs(); + } + catch (IOException ex) + { + Logger.ErrorException("Error creating resolve args for {0}", ex, Path); - IsOffline = true; + IsOffline = true; - throw; + throw; + } } return _resolveArgs; } - private set - { - _resolveArgs = value; - _resolveArgsInitialized = value != null; - } } /// @@ -354,12 +344,12 @@ namespace MediaBrowser.Controller.Entities public void ResetResolveArgs() { - ResolveArgs = null; + _resolveArgs = null; } public void ResetResolveArgs(ItemResolveArgs args) { - ResolveArgs = args; + _resolveArgs = args; } /// @@ -759,7 +749,7 @@ namespace MediaBrowser.Controller.Entities if (dbItem != null) { - dbItem.ResolveArgs = video.ResolveArgs; + dbItem.ResetResolveArgs(video.ResolveArgs); video = dbItem; } @@ -820,7 +810,7 @@ namespace MediaBrowser.Controller.Entities if (dbItem != null) { - dbItem.ResolveArgs = audio.ResolveArgs; + dbItem.ResetResolveArgs(audio.ResolveArgs); audio = dbItem; } @@ -878,7 +868,7 @@ namespace MediaBrowser.Controller.Entities if (dbItem != null) { - dbItem.ResolveArgs = item.ResolveArgs; + dbItem.ResetResolveArgs(item.ResolveArgs); item = dbItem; } -- cgit v1.2.3