internal static bool EnsureEnqueued(CleanupSource cleanupSource) { Validate.IsNotNull <CleanupSource>(cleanupSource, "cleanupSource"); if (!workItemSet.Add(cleanupSource)) { return(false); } workItemQueue.Enqueue(cleanupSource); ManualResetEvent workAvailableEvent = CleanupThread.workAvailableEvent; lock (workAvailableEvent) { if (workItemQueue.Any <CleanupSource>()) { CleanupThread.workAvailableEvent.Set(); } } return(true); }
public void RemoveCleanupSource(CleanupSource cleanupSource) { this.cleanupSources.Remove(cleanupSource); }
public void AddCleanupSource(CleanupSource cleanupSource) { this.cleanupSources.Add(cleanupSource); }
internal static void RemoveCleanupSource(CleanupSource cleanupSource) { cleanupSourceCollection.RemoveCleanupSource(cleanupSource); }
internal static void AddCleanupSource(CleanupSource cleanupSource) { cleanupSourceCollection.AddCleanupSource(cleanupSource); }
internal static bool IsQueued(CleanupSource cleanupSource) => workItemSet.Contains(cleanupSource);
public void RemoveCleanupSource(CleanupSource cleanupSource) { CleanupManager.RemoveCleanupSource(cleanupSource); }
public void AddCleanupSource(CleanupSource cleanupSource) { CleanupManager.AddCleanupSource(cleanupSource); }