void internalThread_DoWork(object sender, DoWorkEventArgs e) { string downloadString = ""; updateURI = new Uri(updateURL); downloader.Headers.Add("user-agent", "UpdateCheck/" + Assembly.GetExecutingAssembly().GetName().Version + " " + callerName + "/" + callerVersion); try { downloadString = downloader.DownloadString(updateURI); updateInfo = new NJCrawford.StringIniReader(downloadString); } catch (Exception ex) { //don't complain, just remember it for later lastError = ex.Message; } // I suspect that this will prevent a race condition infoReadyMutex.WaitOne(); isInfoReady = true; infoReadyMutex.ReleaseMutex(); }
void internalThread_DoWork(object sender, DoWorkEventArgs e) { string downloadString = ""; updateURI = new Uri(updateURL); downloader.Headers.Add("user-agent", "UpdateCheck/" + Assembly.GetExecutingAssembly().GetName().Version + " " + callerName + "/" + callerVersion); try { downloadString = downloader.DownloadString(updateURI); updateInfo = new NJCrawford.StringIniReader(downloadString); } catch (Exception ex) { //don't complain, just remember it for later lastError = ex.Message; } // I suspect that this will prevent a race condition infoReadyMutex.WaitOne(); isInfoReady = true; infoReadyMutex.ReleaseMutex(); }