Exemplo n.º 1
0
        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?
                }
            }
        }
Exemplo n.º 2
0
        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);
        }