Beispiel #1
0
        void CheckWorker()
        {
            while (!m_CheckThreadQuit)
            {
                IUpdateCheckResult checkResult = UpdateInfo.Get(m_Guids, m_Url, m_MaxRedirects);

                try {
                    Monitor.Enter(m_Targets);

                    for (
                        LinkedListNode <UpdateCheckNotificationTarget> cur = m_Targets.First;
                        null != cur;
                        cur = cur.Next
                        )
                    {
                        cur.Value.Notify(this, checkResult);
                    }
                }
                finally {
                    Monitor.Exit(m_Targets);
                }

                m_CheckThreadWork.WaitOne();
            }
        }