internal void Cleanup() { _loader.Cleanup(); // may be duplicated work // delete any temp files foreach (var afile in _toCleanup) { try { File.Delete(afile); } #pragma warning disable CS0168 // Variable is declared but never used catch (Exception ex) #pragma warning restore CS0168 // Variable is declared but never used { // TODO file still locked? } } }
private void phashZip_doWork(object sender, DoWorkEventArgs e) { List <Task> _allTasks = new List <Task>(); _doneCount = 0; foreach (var oneFI in _allFiles) { if (DontUpdate(oneFI)) { continue; } int fc = _zipload.GetFileCount(oneFI); if (fc < 1) { continue; } _totCount2 += fc; _allTasks.Add(Task.Factory.StartNew(() => _zipload.Process(oneFI, do_hashZ))); } var allTasks2 = _allTasks.ToArray(); _allTasks = null; Task.WaitAll(allTasks2); foreach (var task in allTasks2) { task.Dispose(); } allTasks2 = null; _zipload.Cleanup(); _log.log("Inner File Count:" + _totCount2); }