Blacker.Scraper.Downloader._backgroundWorker_DoWork C# (CSharp) Method

_backgroundWorker_DoWork() private method

private _backgroundWorker_DoWork ( object sender, DoWorkEventArgs e ) : void
sender object
e System.ComponentModel.DoWorkEventArgs
return void
        void _backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            var workerParams = e.Argument as WorkerParams;
            var backgroundWorker = sender as BackgroundWorker;

            backgroundWorker.ReportProgress(0, "Waiting");

            bool obtained = workerParams.Semaphore.Wait();  // we don't really care if we obtained entry pass or not

            try
            {
                DownloadChapter(backgroundWorker, e, workerParams.Chapter, workerParams.OutputFolder, workerParams.FormatProvider);
            }
            finally
            {
                if(obtained)
                    workerParams.Semaphore.Release();
            }
        }