commit
5116b175ce
|
@ -17,7 +17,7 @@ using MediaBrowser.Model.Xml;
|
|||
|
||||
namespace Emby.Dlna.ContentDirectory
|
||||
{
|
||||
public class ContentDirectory : BaseService, IContentDirectory, IDisposable
|
||||
public class ContentDirectory : BaseService, IContentDirectory
|
||||
{
|
||||
private readonly ILibraryManager _libraryManager;
|
||||
private readonly IImageProcessor _imageProcessor;
|
||||
|
@ -143,10 +143,5 @@ namespace Emby.Dlna.ContentDirectory
|
|||
|
||||
return null;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -596,6 +596,7 @@ namespace Emby.Dlna
|
|||
|
||||
public void Dispose()
|
||||
{
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -394,6 +394,7 @@ namespace Emby.Dlna.Main
|
|||
_communicationsServer.Dispose();
|
||||
_communicationsServer = null;
|
||||
}
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
public void DisposeDlnaServer()
|
||||
|
|
|
@ -9,7 +9,7 @@ using MediaBrowser.Model.Xml;
|
|||
|
||||
namespace Emby.Dlna.MediaReceiverRegistrar
|
||||
{
|
||||
public class MediaReceiverRegistrar : BaseService, IMediaReceiverRegistrar, IDisposable
|
||||
public class MediaReceiverRegistrar : BaseService, IMediaReceiverRegistrar
|
||||
{
|
||||
private readonly IServerConfigurationManager _config;
|
||||
protected readonly IXmlReaderSettingsFactory XmlReaderSettingsFactory;
|
||||
|
@ -33,10 +33,5 @@ namespace Emby.Dlna.MediaReceiverRegistrar
|
|||
Logger, XmlReaderSettingsFactory)
|
||||
.ProcessControlRequest(request);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1105,6 +1105,7 @@ namespace Emby.Dlna.PlayTo
|
|||
_disposed = true;
|
||||
|
||||
DisposeTimer();
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -685,6 +685,7 @@ namespace Emby.Dlna.PlayTo
|
|||
_device.OnDeviceUnavailable = null;
|
||||
|
||||
_device.Dispose();
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -225,6 +225,7 @@ namespace Emby.Dlna.PlayTo
|
|||
{
|
||||
_disposed = true;
|
||||
_deviceDiscovery.DeviceDiscovered -= _deviceDiscovery_DeviceDiscovered;
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ using MediaBrowser.Model.System;
|
|||
|
||||
namespace Emby.Drawing.ImageMagick
|
||||
{
|
||||
public class ImageMagickEncoder : IImageEncoder
|
||||
public class ImageMagickEncoder : IImageEncoder, IDisposable
|
||||
{
|
||||
private readonly ILogger _logger;
|
||||
private readonly IApplicationPaths _appPaths;
|
||||
|
@ -38,7 +38,8 @@ namespace Emby.Drawing.ImageMagick
|
|||
// Some common file name extensions for RAW picture files include: .cr2, .crw, .dng, .nef, .orf, .rw2, .pef, .arw, .sr2, .srf, and .tif.
|
||||
return new[]
|
||||
{
|
||||
"tiff",
|
||||
"tiff",
|
||||
"tif",
|
||||
"jpeg",
|
||||
"jpg",
|
||||
"png",
|
||||
|
@ -327,6 +328,7 @@ namespace Emby.Drawing.ImageMagick
|
|||
{
|
||||
_disposed = true;
|
||||
Wand.CloseEnvironment();
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
private void CheckDisposed()
|
||||
|
|
|
@ -193,30 +193,31 @@ namespace Emby.Drawing.Skia
|
|||
{
|
||||
using (var stream = new SKFileStream(path))
|
||||
{
|
||||
var codec = SKCodec.Create(stream);
|
||||
|
||||
if (codec == null)
|
||||
using (var codec = SKCodec.Create(stream))
|
||||
{
|
||||
origin = SKCodecOrigin.TopLeft;
|
||||
return null;
|
||||
if (codec == null)
|
||||
{
|
||||
origin = SKCodecOrigin.TopLeft;
|
||||
return null;
|
||||
}
|
||||
|
||||
// create the bitmap
|
||||
var bitmap = new SKBitmap(codec.Info.Width, codec.Info.Height, !requiresTransparencyHack);
|
||||
|
||||
if (bitmap != null)
|
||||
{
|
||||
// decode
|
||||
codec.GetPixels(bitmap.Info, bitmap.GetPixels());
|
||||
|
||||
origin = codec.Origin;
|
||||
}
|
||||
else
|
||||
{
|
||||
origin = SKCodecOrigin.TopLeft;
|
||||
}
|
||||
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
// create the bitmap
|
||||
var bitmap = new SKBitmap(codec.Info.Width, codec.Info.Height, !requiresTransparencyHack);
|
||||
|
||||
if (bitmap != null)
|
||||
{
|
||||
// decode
|
||||
codec.GetPixels(bitmap.Info, bitmap.GetPixels());
|
||||
|
||||
origin = codec.Origin;
|
||||
}
|
||||
else
|
||||
{
|
||||
origin = SKCodecOrigin.TopLeft;
|
||||
}
|
||||
|
||||
return bitmap;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -593,10 +594,6 @@ namespace Emby.Drawing.Skia
|
|||
get { return "Skia"; }
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
}
|
||||
|
||||
public bool SupportsImageCollageCreation
|
||||
{
|
||||
get { return true; }
|
||||
|
|
|
@ -126,6 +126,7 @@ namespace Emby.Drawing
|
|||
return new string[]
|
||||
{
|
||||
"tiff",
|
||||
"tif",
|
||||
"jpeg",
|
||||
"jpg",
|
||||
"png",
|
||||
|
@ -967,8 +968,15 @@ namespace Emby.Drawing
|
|||
public void Dispose()
|
||||
{
|
||||
_disposed = true;
|
||||
_imageEncoder.Dispose();
|
||||
|
||||
var disposable = _imageEncoder as IDisposable;
|
||||
if (disposable != null)
|
||||
{
|
||||
disposable.Dispose();
|
||||
}
|
||||
|
||||
_saveImageSizeTimer.Dispose();
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
private void CheckDisposed()
|
||||
|
|
|
@ -61,9 +61,5 @@ namespace Emby.Drawing
|
|||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -491,6 +491,7 @@ namespace Emby.Server.Implementations.Activity
|
|||
//_logManager.LoggerLoaded -= _logManager_LoggerLoaded;
|
||||
|
||||
_appHost.ApplicationUpdated -= _appHost_ApplicationUpdated;
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -828,7 +828,7 @@ namespace Emby.Server.Implementations
|
|||
RegisterSingleInstance(MemoryStreamFactory);
|
||||
RegisterSingleInstance(SystemEvents);
|
||||
|
||||
RegisterSingleInstance(LogManager);
|
||||
RegisterSingleInstance(LogManager, false);
|
||||
RegisterSingleInstance(Logger);
|
||||
|
||||
RegisterSingleInstance(EnvironmentInfo);
|
||||
|
@ -2341,6 +2341,7 @@ namespace Emby.Server.Implementations
|
|||
_disposed = true;
|
||||
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2354,6 +2355,7 @@ namespace Emby.Server.Implementations
|
|||
{
|
||||
var type = GetType();
|
||||
|
||||
LogManager.AddConsoleOutput();
|
||||
Logger.Info("Disposing " + type.Name);
|
||||
|
||||
var parts = DisposableParts.Distinct().Where(i => i.GetType() != type).ToList();
|
||||
|
|
|
@ -1624,6 +1624,7 @@ namespace Emby.Server.Implementations.Channels
|
|||
|
||||
public void Dispose()
|
||||
{
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -77,6 +77,7 @@ namespace Emby.Server.Implementations.Data
|
|||
{
|
||||
Close();
|
||||
}
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -104,6 +104,7 @@ namespace Emby.Server.Implementations.Diagnostics
|
|||
public void Dispose()
|
||||
{
|
||||
_process.Dispose();
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -112,6 +112,7 @@ namespace Emby.Server.Implementations.EntryPoints
|
|||
_appHost.HasPendingRestartChanged -= _appHost_HasPendingRestartChanged;
|
||||
|
||||
DisposeTimer();
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
private void DisposeTimer()
|
||||
|
|
|
@ -294,6 +294,7 @@ namespace Emby.Server.Implementations.EntryPoints
|
|||
{
|
||||
_disposed = true;
|
||||
DisposeNat();
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
private void DisposeNat()
|
||||
|
|
|
@ -60,6 +60,7 @@ namespace Emby.Server.Implementations.EntryPoints
|
|||
_timer.Dispose();
|
||||
_timer = null;
|
||||
}
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -426,6 +426,7 @@ namespace Emby.Server.Implementations.EntryPoints
|
|||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -68,6 +68,7 @@ namespace Emby.Server.Implementations.EntryPoints
|
|||
_timer.Dispose();
|
||||
_timer = null;
|
||||
}
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -72,6 +72,7 @@ namespace Emby.Server.Implementations.EntryPoints
|
|||
_liveTvManager.SeriesTimerCancelled -= _liveTvManager_SeriesTimerCancelled;
|
||||
_liveTvManager.TimerCreated -= _liveTvManager_TimerCreated;
|
||||
_liveTvManager.SeriesTimerCreated -= _liveTvManager_SeriesTimerCreated;
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using MediaBrowser.Controller.Library;
|
||||
using System;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Plugins;
|
||||
using System.Threading;
|
||||
|
||||
|
@ -36,6 +37,7 @@ namespace Emby.Server.Implementations.EntryPoints
|
|||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -174,6 +174,7 @@ namespace Emby.Server.Implementations.EntryPoints
|
|||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using Emby.Server.Implementations.Browser;
|
||||
using System;
|
||||
using Emby.Server.Implementations.Browser;
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Controller.Plugins;
|
||||
using MediaBrowser.Model.Logging;
|
||||
|
@ -54,6 +55,7 @@ namespace Emby.Server.Implementations.EntryPoints
|
|||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -43,6 +43,7 @@ namespace Emby.Server.Implementations.EntryPoints
|
|||
public void Dispose()
|
||||
{
|
||||
_systemEvents.SystemShutdown -= _systemEvents_SystemShutdown;
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -65,6 +65,7 @@ namespace Emby.Server.Implementations.EntryPoints
|
|||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -130,6 +130,7 @@ namespace Emby.Server.Implementations.EntryPoints
|
|||
public void Dispose()
|
||||
{
|
||||
_sessionManager.SessionStarted -= _sessionManager_SessionStarted;
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -160,6 +160,7 @@ namespace Emby.Server.Implementations.EntryPoints
|
|||
}
|
||||
|
||||
_userDataManager.UserDataSaved -= _userDataManager_UserDataSaved;
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -822,27 +822,6 @@ namespace Emby.Server.Implementations.HttpClientManager
|
|||
return url;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Releases unmanaged and - optionally - managed resources.
|
||||
/// </summary>
|
||||
/// <param name="dispose"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
|
||||
protected virtual void Dispose(bool dispose)
|
||||
{
|
||||
if (dispose)
|
||||
{
|
||||
_httpClients.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Throws the cancellation exception.
|
||||
/// </summary>
|
||||
|
|
|
@ -123,6 +123,7 @@ namespace Emby.Server.Implementations.HttpServer.SocketSharp
|
|||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -238,6 +238,7 @@ namespace Emby.Server.Implementations.IO
|
|||
{
|
||||
_disposed = true;
|
||||
DisposeTimer();
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -70,6 +70,7 @@ namespace Emby.Server.Implementations.IO
|
|||
{
|
||||
mounter.Dispose();
|
||||
}
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -649,6 +649,7 @@ namespace Emby.Server.Implementations.IO
|
|||
|
||||
public void Dispose()
|
||||
{
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -524,6 +524,7 @@ namespace Emby.Server.Implementations.Library
|
|||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
private readonly object _disposeLock = new object();
|
||||
|
|
|
@ -2630,6 +2630,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
|||
{
|
||||
pair.Value.CancellationTokenSource.Cancel();
|
||||
}
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
public List<VirtualFolderInfo> GetRecordingFolders()
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using MediaBrowser.Controller.Plugins;
|
||||
using System;
|
||||
using MediaBrowser.Controller.Plugins;
|
||||
|
||||
namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
||||
{
|
||||
|
@ -11,6 +12,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
|||
|
||||
public void Dispose()
|
||||
{
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2779,6 +2779,7 @@ namespace Emby.Server.Implementations.LiveTv
|
|||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
private bool _isDisposed = false;
|
||||
|
|
|
@ -422,7 +422,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
|||
SupportsTranscoding = true,
|
||||
IsInfiniteStream = true,
|
||||
IgnoreDts = true,
|
||||
//SupportsProbing = false,
|
||||
SupportsProbing = false,
|
||||
//AnalyzeDurationMs = 2000000
|
||||
//IgnoreIndex = true,
|
||||
//ReadAtNativeFramerate = true
|
||||
|
|
|
@ -99,6 +99,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
|||
var task = StopStreaming();
|
||||
|
||||
Task.WaitAll(task);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
public async Task<bool> CheckTunerAvailability(IpAddressInfo remoteIp, int tuner, CancellationToken cancellationToken)
|
||||
|
|
|
@ -107,6 +107,7 @@ namespace Emby.Server.Implementations.Logging
|
|||
}
|
||||
|
||||
_fileLogger = null;
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -130,13 +131,18 @@ namespace Emby.Server.Implementations.Logging
|
|||
|
||||
private void LogInternal()
|
||||
{
|
||||
while (!_cancellationTokenSource.IsCancellationRequested)
|
||||
while (!_cancellationTokenSource.IsCancellationRequested && !_disposed)
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (var message in _queue.GetConsumingEnumerable())
|
||||
{
|
||||
var bytes = Encoding.UTF8.GetBytes(message + Environment.NewLine);
|
||||
if (_disposed)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_fileStream.Write(bytes, 0, bytes.Length);
|
||||
|
||||
_fileStream.Flush(true);
|
||||
|
@ -166,17 +172,18 @@ namespace Emby.Server.Implementations.Logging
|
|||
return;
|
||||
}
|
||||
|
||||
_fileStream.Flush();
|
||||
_fileStream.Flush(true);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_cancellationTokenSource.Cancel();
|
||||
|
||||
_disposed = true;
|
||||
Flush();
|
||||
|
||||
_fileStream.Flush();
|
||||
_disposed = true;
|
||||
_fileStream.Dispose();
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -92,6 +92,7 @@ namespace Emby.Server.Implementations.Net
|
|||
public void Dispose()
|
||||
{
|
||||
Socket.Dispose();
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -271,6 +271,7 @@ namespace Emby.Server.Implementations.News
|
|||
_timer.Dispose();
|
||||
_timer = null;
|
||||
}
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -551,6 +551,7 @@ namespace Emby.Server.Implementations.Notifications
|
|||
|
||||
_deviceManager.CameraImageUploaded -= _deviceManager_CameraImageUploaded;
|
||||
_userManager.UserLockedOut -= _userManager_UserLockedOut;
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
private void DisposeLibraryUpdateTimer()
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using MediaBrowser.Controller.Net;
|
||||
using System;
|
||||
using MediaBrowser.Controller.Net;
|
||||
using MediaBrowser.Controller.Notifications;
|
||||
using MediaBrowser.Controller.Plugins;
|
||||
using System.Linq;
|
||||
|
@ -49,6 +50,7 @@ namespace Emby.Server.Implementations.Notifications
|
|||
public void Dispose()
|
||||
{
|
||||
_notificationsRepo.NotificationAdded -= _notificationsRepo_NotificationAdded;
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ using System.Threading.Tasks;
|
|||
|
||||
namespace Emby.Server.Implementations.Session
|
||||
{
|
||||
public class HttpSessionController : ISessionController, IDisposable
|
||||
public class HttpSessionController : ISessionController
|
||||
{
|
||||
private readonly IHttpClient _httpClient;
|
||||
private readonly IJsonSerializer _json;
|
||||
|
@ -195,9 +195,5 @@ namespace Emby.Server.Implementations.Session
|
|||
|
||||
return "?" + args;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -102,6 +102,7 @@ namespace Emby.Server.Implementations.Session
|
|||
public void Dispose()
|
||||
{
|
||||
_serverManager.WebSocketConnected -= _serverManager_WebSocketConnected;
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -283,6 +283,7 @@ namespace Emby.Server.Implementations.Session
|
|||
{
|
||||
socket.Closed -= connection_Closed;
|
||||
}
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -217,6 +217,7 @@ namespace Emby.Server.Implementations.TV
|
|||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -31,6 +31,7 @@ namespace Emby.Server.Implementations.Threading
|
|||
public void Dispose()
|
||||
{
|
||||
_timer.Dispose();
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -722,6 +722,7 @@ namespace Emby.Server.Implementations.Updates
|
|||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -81,18 +81,14 @@ namespace MediaBrowser.Api
|
|||
return value.Split(separator);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Runs this instance.
|
||||
/// </summary>
|
||||
public void Run()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
|
||||
/// </summary>
|
||||
public void Dispose()
|
||||
{
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -314,6 +314,7 @@ namespace MediaBrowser.Api
|
|||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -70,6 +70,7 @@ namespace MediaBrowser.Common.Net
|
|||
{
|
||||
_disposable.Dispose();
|
||||
}
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ namespace MediaBrowser.Common.Net
|
|||
/// <summary>
|
||||
/// Interface IHttpClient
|
||||
/// </summary>
|
||||
public interface IHttpClient : IDisposable
|
||||
public interface IHttpClient
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the response.
|
||||
|
|
|
@ -30,6 +30,7 @@ namespace MediaBrowser.Common.Progress
|
|||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -3,7 +3,7 @@ using MediaBrowser.Model.Drawing;
|
|||
|
||||
namespace MediaBrowser.Controller.Drawing
|
||||
{
|
||||
public interface IImageEncoder : IDisposable
|
||||
public interface IImageEncoder
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the supported input formats.
|
||||
|
|
|
@ -23,6 +23,7 @@ namespace MediaBrowser.Controller.Drawing
|
|||
{
|
||||
Stream.Dispose();
|
||||
}
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -303,6 +303,7 @@ namespace MediaBrowser.Controller.Session
|
|||
|
||||
StopAutomaticProgress();
|
||||
_sessionManager = null;
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -59,6 +59,7 @@ namespace MediaBrowser.Model.Net
|
|||
{
|
||||
_disposable.Dispose();
|
||||
}
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1110,6 +1110,7 @@ namespace MediaBrowser.Providers.Manager
|
|||
{
|
||||
_disposeCancellationTokenSource.Cancel();
|
||||
}
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -29,7 +29,7 @@ namespace MediaBrowser.Providers.Movies
|
|||
/// <summary>
|
||||
/// Class MovieDbProvider
|
||||
/// </summary>
|
||||
public class MovieDbProvider : IRemoteMetadataProvider<Movie, MovieInfo>, IDisposable, IHasOrder
|
||||
public class MovieDbProvider : IRemoteMetadataProvider<Movie, MovieInfo>, IHasOrder
|
||||
{
|
||||
internal static MovieDbProvider Current { get; private set; }
|
||||
|
||||
|
@ -130,14 +130,6 @@ namespace MediaBrowser.Providers.Movies
|
|||
get { return "TheMovieDb"; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Releases unmanaged and - optionally - managed resources.
|
||||
/// </summary>
|
||||
/// <param name="dispose"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
|
||||
protected virtual void Dispose(bool dispose)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The _TMDB settings task
|
||||
/// </summary>
|
||||
|
@ -434,11 +426,6 @@ namespace MediaBrowser.Providers.Movies
|
|||
return await _httpClient.Get(options).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Class TmdbTitle
|
||||
/// </summary>
|
||||
|
|
|
@ -56,20 +56,22 @@ namespace MediaBrowser.Server.Mac
|
|||
|
||||
var appPaths = CreateApplicationPaths(appFolderPath, customProgramDataPath);
|
||||
|
||||
var logManager = new SimpleLogManager(appPaths.LogDirectoryPath, "server");
|
||||
logManager.ReloadLogger(LogSeverity.Info);
|
||||
logManager.AddConsoleOutput();
|
||||
using (var logManager = new SimpleLogManager(appPaths.LogDirectoryPath, "server"))
|
||||
{
|
||||
logManager.ReloadLogger(LogSeverity.Info);
|
||||
logManager.AddConsoleOutput();
|
||||
|
||||
var logger = _logger = logManager.GetLogger("Main");
|
||||
var logger = _logger = logManager.GetLogger("Main");
|
||||
|
||||
ApplicationHost.LogEnvironmentInfo(logger, appPaths, true);
|
||||
ApplicationHost.LogEnvironmentInfo(logger, appPaths, true);
|
||||
|
||||
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
|
||||
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
|
||||
|
||||
StartApplication(appPaths, logManager, options);
|
||||
NSApplication.Init ();
|
||||
NSApplication.Main (args);
|
||||
}
|
||||
StartApplication(appPaths, logManager, options);
|
||||
NSApplication.Init();
|
||||
NSApplication.Main(args);
|
||||
}
|
||||
}
|
||||
|
||||
private static ServerApplicationPaths CreateApplicationPaths(string appFolderPath, string programDataPath)
|
||||
{
|
||||
|
|
|
@ -50,28 +50,30 @@ namespace MediaBrowser.Server.Mono
|
|||
|
||||
var appPaths = CreateApplicationPaths(applicationPath, customProgramDataPath);
|
||||
|
||||
var logManager = new SimpleLogManager(appPaths.LogDirectoryPath, "server");
|
||||
logManager.ReloadLogger(LogSeverity.Info);
|
||||
logManager.AddConsoleOutput();
|
||||
|
||||
var logger = _logger = logManager.GetLogger("Main");
|
||||
|
||||
ApplicationHost.LogEnvironmentInfo(logger, appPaths, true);
|
||||
|
||||
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
|
||||
|
||||
try
|
||||
using (var logManager = new SimpleLogManager(appPaths.LogDirectoryPath, "server"))
|
||||
{
|
||||
RunApplication(appPaths, logManager, options);
|
||||
}
|
||||
finally
|
||||
{
|
||||
_logger.Info("Disposing app host");
|
||||
_appHost.Dispose();
|
||||
logManager.ReloadLogger(LogSeverity.Info);
|
||||
logManager.AddConsoleOutput();
|
||||
|
||||
if (_restartOnShutdown)
|
||||
var logger = _logger = logManager.GetLogger("Main");
|
||||
|
||||
ApplicationHost.LogEnvironmentInfo(logger, appPaths, true);
|
||||
|
||||
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
|
||||
|
||||
try
|
||||
{
|
||||
StartNewInstance(options);
|
||||
RunApplication(appPaths, logManager, options);
|
||||
}
|
||||
finally
|
||||
{
|
||||
_logger.Info("Disposing app host");
|
||||
_appHost.Dispose();
|
||||
|
||||
if (_restartOnShutdown)
|
||||
{
|
||||
StartNewInstance(options);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -72,69 +72,71 @@ namespace MediaBrowser.ServerApplication
|
|||
|
||||
var appPaths = CreateApplicationPaths(ApplicationPath, IsRunningAsService);
|
||||
|
||||
var logManager = new SimpleLogManager(appPaths.LogDirectoryPath, "server");
|
||||
logManager.ReloadLogger(LogSeverity.Debug);
|
||||
logManager.AddConsoleOutput();
|
||||
|
||||
var logger = _logger = logManager.GetLogger("Main");
|
||||
|
||||
ApplicationHost.LogEnvironmentInfo(logger, appPaths, true);
|
||||
|
||||
// Install directly
|
||||
if (options.ContainsOption("-installservice"))
|
||||
using (var logManager = new SimpleLogManager(appPaths.LogDirectoryPath, "server"))
|
||||
{
|
||||
logger.Info("Performing service installation");
|
||||
InstallService(ApplicationPath, logger);
|
||||
return;
|
||||
}
|
||||
logManager.ReloadLogger(LogSeverity.Debug);
|
||||
logManager.AddConsoleOutput();
|
||||
|
||||
// Restart with admin rights, then install
|
||||
if (options.ContainsOption("-installserviceasadmin"))
|
||||
{
|
||||
logger.Info("Performing service installation");
|
||||
RunServiceInstallation(ApplicationPath);
|
||||
return;
|
||||
}
|
||||
var logger = _logger = logManager.GetLogger("Main");
|
||||
|
||||
// Uninstall directly
|
||||
if (options.ContainsOption("-uninstallservice"))
|
||||
{
|
||||
logger.Info("Performing service uninstallation");
|
||||
UninstallService(ApplicationPath, logger);
|
||||
return;
|
||||
}
|
||||
ApplicationHost.LogEnvironmentInfo(logger, appPaths, true);
|
||||
|
||||
// Restart with admin rights, then uninstall
|
||||
if (options.ContainsOption("-uninstallserviceasadmin"))
|
||||
{
|
||||
logger.Info("Performing service uninstallation");
|
||||
RunServiceUninstallation(ApplicationPath);
|
||||
return;
|
||||
}
|
||||
// Install directly
|
||||
if (options.ContainsOption("-installservice"))
|
||||
{
|
||||
logger.Info("Performing service installation");
|
||||
InstallService(ApplicationPath, logger);
|
||||
return;
|
||||
}
|
||||
|
||||
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
|
||||
// Restart with admin rights, then install
|
||||
if (options.ContainsOption("-installserviceasadmin"))
|
||||
{
|
||||
logger.Info("Performing service installation");
|
||||
RunServiceInstallation(ApplicationPath);
|
||||
return;
|
||||
}
|
||||
|
||||
RunServiceInstallationIfNeeded(ApplicationPath);
|
||||
// Uninstall directly
|
||||
if (options.ContainsOption("-uninstallservice"))
|
||||
{
|
||||
logger.Info("Performing service uninstallation");
|
||||
UninstallService(ApplicationPath, logger);
|
||||
return;
|
||||
}
|
||||
|
||||
if (IsAlreadyRunning(ApplicationPath, currentProcess))
|
||||
{
|
||||
logger.Info("Shutting down because another instance of Emby Server is already running.");
|
||||
return;
|
||||
}
|
||||
// Restart with admin rights, then uninstall
|
||||
if (options.ContainsOption("-uninstallserviceasadmin"))
|
||||
{
|
||||
logger.Info("Performing service uninstallation");
|
||||
RunServiceUninstallation(ApplicationPath);
|
||||
return;
|
||||
}
|
||||
|
||||
if (PerformUpdateIfNeeded(appPaths, logger))
|
||||
{
|
||||
logger.Info("Exiting to perform application update.");
|
||||
return;
|
||||
}
|
||||
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
|
||||
|
||||
try
|
||||
{
|
||||
RunApplication(appPaths, logManager, IsRunningAsService, options);
|
||||
}
|
||||
finally
|
||||
{
|
||||
OnServiceShutdown();
|
||||
RunServiceInstallationIfNeeded(ApplicationPath);
|
||||
|
||||
if (IsAlreadyRunning(ApplicationPath, currentProcess))
|
||||
{
|
||||
logger.Info("Shutting down because another instance of Emby Server is already running.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (PerformUpdateIfNeeded(appPaths, logger))
|
||||
{
|
||||
logger.Info("Exiting to perform application update.");
|
||||
return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
RunApplication(appPaths, logManager, IsRunningAsService, options);
|
||||
}
|
||||
finally
|
||||
{
|
||||
OnServiceShutdown();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -81,6 +81,7 @@ namespace MediaBrowser.XbmcMetadata
|
|||
public void Dispose()
|
||||
{
|
||||
_userDataManager.UserDataSaved -= _userDataManager_UserDataSaved;
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
private async void SaveMetadataForItem(BaseItem item, ItemUpdateType updateReason)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyVersion("3.2.30.7")]
|
||||
[assembly: AssemblyVersion("3.2.30.8")]
|
||||
|
|
|
@ -248,6 +248,7 @@ namespace SocketHttpListener.Net
|
|||
|
||||
Close(true); //TODO: Should we force here or not?
|
||||
disposed = true;
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
internal void CheckDisposed()
|
||||
|
|
|
@ -880,6 +880,7 @@ namespace SocketHttpListener
|
|||
void IDisposable.Dispose()
|
||||
{
|
||||
Close(CloseStatusCode.Away, null);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
Loading…
Reference in New Issue
Block a user