diff --git a/NzbDrone.Core/Providers/Jobs/JobProvider.cs b/NzbDrone.Core/Providers/Jobs/JobProvider.cs index 11a8b02ac8..362abcf4ae 100644 --- a/NzbDrone.Core/Providers/Jobs/JobProvider.cs +++ b/NzbDrone.Core/Providers/Jobs/JobProvider.cs @@ -11,6 +11,7 @@ using NzbDrone.Core.Model.Notification; using NzbDrone.Core.Repository; using PetaPoco; +using ThreadState = System.Threading.ThreadState; namespace NzbDrone.Core.Providers.Jobs { @@ -161,7 +162,7 @@ public virtual void QueueJob(Type jobType, int targetId = 0, int secondaryTarget _isRunning = true; } - if (_jobThread == null || !_jobThread.IsAlive) + if (_jobThread == null || _jobThread.ThreadState != ThreadState.Running) { Logger.Trace("Initializing queue processor thread"); @@ -178,6 +179,8 @@ public virtual void QueueJob(Type jobType, int targetId = 0, int secondaryTarget finally { _isRunning = false; + _jobThread.Abort(); + } };