public IBedRecord GetRecord() { try { Element res = m_queue.Get(); if (res.IsEof) { throw new Exception("DAE-00223 Eof reached"); } IBedRecord rec = res.Record; foreach (var ada in m_outputAdapters) { rec = ada.AdaptRecord(rec, ProgressInfo); } return(rec); } catch (QueueClosedError) { if (m_error != null) { throw new QueueClosedError("DAE-00224", m_error); } throw new QueueClosedError("DAE-00225"); } }
private void Run() { try { ThreadRegister.RegisterThread(Thread.CurrentThread); DoCreateConnection(); if (AfterCreateConnection != null) { AfterCreateConnection(this); } while (!m_breakFlag) { QElement obj = m_queue.Get(); try { obj.Run(); m_statProcessedOkQElements++; } catch (Exception e) { Logging.Error("Error processing queue element:" + e.ToString()); m_statProcessedFailQElements++; } } } finally { ThreadRegister.UnregisterThread(Thread.CurrentThread); } }
void LoggerThreadProc() { for (; ;) { LogMessageRecord rec = m_queue.Get(); if (rec == null) { return; } m_target.LogMessage(rec); } }
private static void ThreadProc() { for (; ;) { var elem = m_downloadQueue.Get(); try { elem.DownloadFeed(); } catch { Logging.Error("Error downloading online help feed:" + elem.Name); } } }